<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_云极科技用心只做一件事</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/75971/rss</id><updated>2012-05-20T09:22:01Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/75971/rss"/><entry><id>http://www.cnblogs.com/qidian10/archive/2012/05/18/2507832.html</id><title type="text">水晶易表 跨域不能访问数据的解决方案</title><summary type="text">上次做店铺销售对比水晶易表的时候碰到一个问题，一直没有解决。今天刚好一个朋友也碰到了这个问题，看了要捣腾一番，最终找到了一个解决方案，方案如下。当前情况：店铺销售对比报表(flash文件)，目前放在34的iis目录，该报表需要访问61的ws数据，但会出下如下问题：问题：跨域策略问题，不能获取到外部的数据原因：访问flash报表的地址，必须和报表本身访问数据接口的域是一致的，也就是说ip必须相同。例如flash文件在http://192.168.0.34:8888/View/SJYB/xsdb.swf报表本身访问的数据在：http://192.168.0.61:8080/dswsbobje/qa</summary><published>2012-05-18T07:18:00Z</published><updated>2012-05-18T07:18:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/05/18/2507832.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/05/18/2507832.html"/><content type="html">&lt;p&gt;&lt;span&gt;上次做店铺销售对比水晶易表的时候碰到一个问题，一直没有解决。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;今天刚好一个朋友也碰到了这个问题，看了要捣腾一番，最终找到了一个解决方案，方案如下。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;当前情况：店铺销售对比报表(flash文件)，目前放在34的iis目录，该报表需要访问61的ws数据，但会出下如下问题：&lt;/span&gt;&lt;br /&gt;&lt;img src="http://192.168.0.34/view/ckfinder/userfiles/images/QQ%E6%88%AA%E5%9B%BE20120518144742.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;问题：跨域策略问题，不能获取到外部的数据&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;原因：访问flash报表的地址，必须和报表本身访问数据接口的域是一致的，也就是说ip必须相同。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;例如flash文件在&amp;nbsp;http://192.168.0.34:8888/View/SJYB/xsdb.swf&lt;/span&gt;&lt;br /&gt;&lt;span&gt;报表本身访问的数据在：http://192.168.0.61:8080/dswsbobje/qaawsservices/queryasaservice?&amp;amp;cuid=AdSxF7qX0LJGueeZc7350g8&amp;amp;authType=secEnterprise&amp;amp;locale=zh_CN&amp;amp;timeout=60&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;这种就会导致这样的错误，必须要把flash报表放到http://192.168.0.61:8080/dswsbobje/目录下，同一个域才可以正常访问。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;将xsdb.swf拷贝到61服务器dswsbobje/目录下，问题解决，能够正常访问了：&lt;/span&gt;&lt;br /&gt;&lt;img src="http://192.168.0.34/view/ckfinder/userfiles/images/QQ%E6%88%AA%E5%9B%BE20120518150104.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;经过测试，发现只需要ip保持一致即可，跟url的子目录没有关系。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2507832.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/05/18/2507832.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/05/16/2505578.html</id><title type="text">企业内IT部门的一些问题总结</title><summary type="text">今天在跟同事在讨论系统编号需求的时候，顺便探讨到了系统UI的设计，以及软件设计的问题，小有感触，感觉有必要对软件开发进行下深深的反思，好好的思考一下。反思过去2年： 满打满算到公司快两年了，两年中我的感觉是基础差，不专业，不系统。 试问两年多IT研发团队能拿出多少软件开发的思想结晶？有多少软件完完整整的走了软件开发生命周期？有多少做过最基本的单元测试？有多少软件做到了真正的面向对象？有多少软件真正的做到了优化？有多少数据库的设计符合第三范式的？有多少进行过反思，思考，产生过多少结果？又有多少有过大量并发的测试？有多少业务系统是从头到尾我们自己开发的？ 当然这些问题有些偏激，有些东西在类似企业.</summary><published>2012-05-16T15:45:00Z</published><updated>2012-05-16T15:45:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/05/16/2505578.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/05/16/2505578.html"/><content type="html">&lt;p&gt;&lt;span&gt;今天在跟同事在讨论系统编号需求的时候，顺便探讨到了系统UI的设计，以及软件设计的问题，小有感触，感觉有必要对软件开发进行下深深的反思，好好的思考一下。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;em&gt;反思过去2年：&lt;/em&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; 满打满算到公司快两年了，两年中我的感觉是基础差，不专业，不系统。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;试问两年多IT研发团队能拿出多少软件开发的思想结晶？有多少软件完完整整的走了软件开发生命周期？有多少做过最基本的单元测试？有多少软件做到了真正的面向对象？有多少软件真正的做到了优化？有多少数据库的设计符合第三范式的？有多少进行过反思，思考，产生过多少结果？又有多少有过大量并发的测试？有多少业务系统是从头到尾我们自己开发的？&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;当然这些问题有些偏激，有些东西在类似企业似乎是不现实的，但我们必须要对自己负责，对自己的结晶负责，要么认真在开发上面思考，要么转行！&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;如果想说一个软件能用就行，如果说只想做一个简简单单的码农，那么我无话可说。但如果你想在开发方面做些贡献，那请对自己负责（同样不要整天说软件开发腻了，没意思，挣不到钱，想转行，那请问你有决心吗？警惕 思想的巨人，行动的矮子！）&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;基础差：&lt;/strong&gt;&lt;span&gt;这个无可厚非，必须承认，而且必须要有自知之明；向来部门文化提倡学习，但对于软件研发这块的东西，学习最快的方式不是通过IBM的培训，Android的几天培训就可达到的，最快的方式是有个技术雄厚的&amp;ldquo;导师&amp;rdquo;来指导你，甚至可能的话在一个团队里面一起做项目，这个是成长最最快的，带给你的锻炼机会是最大的。但似乎通过&amp;ldquo;导师&amp;rdquo;这种方式来成长，在目前环境下可能性及其渺小，可能领导在其他方面的考虑，喜欢带动大学的就业率！但旁观的话来讲，一个小而精的团队战斗力比一个几十号人的战斗力要强若干倍，聚美优品网站10个IT人撑起了2亿多的资产。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;但外因往往是你这种小角色所不能改变的，那就变换途径，网络资源那么多，IT平台那么多，有几个人每天会花上一到两个小时去学习？当然我们不反对一坐到办公室就开始增、删、改、查，这是领导们最希望看到的。但学习是为自己负责，不要成为码农，一定要要多多思考问题的捷径，通过各种方式来思考，寻求创造性的解决问题！&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;想在IT混，基础差可以，但一定要有强烈的求知欲！&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;不专业：&lt;/strong&gt;&lt;span&gt;一个是需求，一个是流程，一个是技术。需求这个东西我这真的不想多说什么，我们目前开发的一些东西其实都是小东西，但往往也花了不少的时间，不敢说具体是哪一块的责任，我已经被搞糊涂了，但目前情况一定存在问题，而且一直未得到有效的解决，起码我工作以来都是这么觉得。一个需求持续开发到半年以上，注定是一个失败的需求，即使系统最后勉强上线了，也难耐风吹草动。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;em&gt;流程：&lt;/em&gt;&lt;/strong&gt;&lt;span&gt;这个是唯一一个值得欣慰的，目前我们各种文档确实非常专业了，等到ITDC的上线，将具有跨时代的巨大意义，起码我们工作井井有条，虽然我们技术上不是最牛B的。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;em&gt;&lt;strong&gt;技术：&lt;/strong&gt;&lt;/em&gt;&lt;span&gt;目前技术模块比较散，而且2年左右的时间技术切换非常频繁，由Dephi-&amp;gt;X5-&amp;gt;X6-&amp;gt;.Net-&amp;gt;Java等等，这个对于开发人员来讲不见得是一种好的现象。我们每个开发人员应该有自己的强项，有一门过硬的技术，同样还应该具备涉猎广泛。一定不要一会java、一会.net、一会X6的，对于自己的整个规划是个极大的弊端，这方面应该有人做相关的引导与控制！总之，技术上保持创新，保持学习，保持专一！&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;不系统：&lt;/strong&gt;&lt;span&gt;这也是上述问题所带给我们需要思考的东西，目前情况来说，我们拿到一个需求往往都是重新开始，美工设计，表单设计，数据库设计，代码编写，都是在重复这样的一个工作，殊不知犯了软件开发的大忌，这种开发模式势必带来了时间和人力上的浪费（因为软件重用度低，复制粘贴键锃亮，重复劳动多，关注到逻辑和优化上面的精力偏少），更危险的是造成后期的系统散乱，难于维护。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; 一个系统的Team，应该所有的软件都是一个风格样式的，不是五花八门的登陆界面，我们或许可以拿出部分时间来构造一个基础壁垒，所有的后期系统都基于这个基础架构，那样开发效率将是目前的几倍（最简单的一个例子，好的架构，完成一张表的增删改查只需要一分钟的时间，这就节省你的大量精力投入到更重要的事情中，一个人的价值绝对的不能浪费在这些基础资料的搭建上）&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;简单的就发这么些牢骚，不多说了，我怕去人资。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;纵观上述说所，其实可以总结一个矛盾，我们是面向企业服务的IT，而不是IT产品公司，这因素决定着一些本质的东西，上面的一些观点可能我更偏激于IT产品公司上，但起码我们应该警惕一些东西，在众多技术选择上有所取舍，定好方向，在冲杀。还是那句话要为自己负责。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;---------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span&gt;对开发工具的几点建议：&lt;/span&gt;&lt;br /&gt;&lt;span&gt;0、需求这块毕竟不能和专业的IT产品公司比，不能要求多了&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;1、做Coding的一定要好好利用SVN这个工具。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;2、做数据库的（系统设计，开发方向，不是DW的）建议用PowerDesigner，好好利用。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;3、各个领域的（C/S,B/S,移动）要统一开发风格，最好能研究出自己的架构，所有的开发都基于此，而且应该拿出一部分精力好好研究下前端技术（UI）&lt;/span&gt;&lt;br /&gt;&lt;span&gt;4、经常总结自己的工具类库，将常用的功能单独封装，方便后面的重用。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;5、Coding的时候多找找最优的解决方案。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;6、对于用户访问比较多的系统，定时巡检，优化。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;总之一个软件的提出到上线，希望有一条完整专业工具支持。&lt;/span&gt;&lt;br /&gt;&lt;span&gt;才疏学浅，只能总结这么点，有些观点难免偏激。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2505578.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/05/16/2505578.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/05/16/2504074.html</id><title type="text">Visual Studio 11 Beta 关于WebServices的引用错误的解决方案</title><summary type="text">最近兴冲冲的换了个64位的系统并安装了下VS11，整体感觉还不错，唯一一点就是部分工具栏的图标变了，一下子找不到了。今天碰到一个问题，VS11在引用WebService的时候总是报错，原来在2010里面运行好好的程序，到11 Beta就报错了，找不到这个服务了，具体如下：环境Win7 64位，Vs11 Beta：报错信息如下：网上找了好一会，都说这个是历史弥留问题，在2008便有这个bug，但据说是微软已经修复了，不知道为啥11版本又出现了这个错误。解决方案：右键你的WebServices名称，配置服务引用将Reuse types in referenced assemblies这样就可以解决</summary><published>2012-05-16T07:33:00Z</published><updated>2012-05-16T07:33:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/05/16/2504074.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/05/16/2504074.html"/><content type="html">&lt;p&gt;最近兴冲冲的换了个64位的系统并安装了下VS11，整体感觉还不错，唯一一点就是部分工具栏的图标变了，一下子找不到了。&lt;/p&gt;&lt;p&gt;今天碰到一个问题，VS11在引用WebService的时候总是报错，原来在2010里面运行好好的程序，到11 Beta就报错了，找不到这个服务了，具体如下：&lt;/p&gt;&lt;p&gt;环境Win7 64位，Vs11 Beta：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051615244053.png" alt="" width="700" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;报错信息如下：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051615250271.png" alt="" width="700" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051615251938.png" alt="" width="700" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;网上找了好一会，都说这个是历史弥留问题，在2008便有这个bug，但据说是微软已经修复了，不知道为啥11版本又出现了这个错误。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;解决方案：&lt;/p&gt;&lt;p&gt;右键你的WebServices名称，配置服务引用&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051615280331.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;将Reuse types in referenced assemblies&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051615285011.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;这样就可以解决了，希望有对有类似问题的朋友有所帮助。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2504074.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/05/16/2504074.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/05/13/2497627.html</id><title type="text">[扫盲]利用架构实例解析面向对象的封装,多态,继承,接口,泛型</title><summary type="text">刚刚看到园子里有人问这个问题，心血来潮，整理一番，希望对初学oop的有所帮助，同时有理解不对的欢迎指正。1. 架构实例基础准备假设我们做一个简单的小系统，需要的操作为：1.管理用户，对用户进行增、删、改（User表）2.管理角色，对角色进行增、删、改（Role表）3.管理功能，对系统功能进行增、删、改（Fun表）由此可以分析，我们这个小系统需要的表为，User用户表，Role角色表，Fun权限表，还要派生出一张表 角色-权限（RoleFun） 关联表。其中用户表里面有字段存放角色Role的ID。2. 搭建项目基础框架一般情况下，我们都采用的是3层架构模式，即使是复杂模式也是在此基础上延伸的。上</summary><published>2012-05-12T16:53:00Z</published><updated>2012-05-12T16:53:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/05/13/2497627.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/05/13/2497627.html"/><content type="html">&lt;p&gt;刚刚看到园子里有人问这个问题，心血来潮，整理一番，希望对初学oop的有所帮助，同时有理解不对的欢迎指正。&lt;/p&gt;&lt;div class="dayTitle"&gt;1. 架构实例基础准备&lt;/div&gt;&lt;p&gt;假设我们做一个简单的小系统，需要的操作为：&lt;/p&gt;&lt;p&gt;1.管理用户，对用户进行增、删、改（User表）&lt;/p&gt;&lt;p&gt;2.管理角色，对角色进行增、删、改（Role表）&lt;/p&gt;&lt;p&gt;3.管理功能，对系统功能进行增、删、改（Fun表）&lt;/p&gt;&lt;p&gt;由此可以分析，我们这个小系统需要的表为，User用户表，Role角色表，Fun权限表，还要派生出一张表 角色-权限（RoleFun） 关联表。其中用户表里面有字段存放角色Role的ID。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051222572195.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051223241928.png" alt="" /&gt;&lt;/p&gt;&lt;div class="dayTitle"&gt;2. 搭建项目基础框架&lt;/div&gt;&lt;p&gt;一般情况下，我们都采用的是3层架构模式，即使是复杂模式也是在此基础上延伸的。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051223055056.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;上面这幅图是最最基础的一个框架。总共分为5个层次，Model层，DAL层，BLL层，Tools层，UI层&lt;/p&gt;&lt;div class="dayTitle"&gt;3. 代码实现基础架构&lt;/div&gt;&lt;p&gt;对于一般的编程者来说，实现起来并不复杂，可能不会将那么多的思想应用到实例中来，那么这里我们模拟下，先抛开这些思想。&lt;/p&gt;&lt;p&gt;（1）首先每个数据库表对应一个Model类这个是必须的吧，那么我们在Model层新建4个类，User，Role，RoleFun，Fun&lt;/p&gt;&lt;p&gt;（2）这个四个对象都需要数据库增、删、改操作，那么我们在DAL里面对应的创建4个类，UserDAL，RoleDAL，RoleFunDAL，FunDAL，然后每个类里面写入相同的方法，增、删、改。&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Insert(对象)，Delete(对象)，Update(对象)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;这里你可能已经意识到问题了，hold，继续看。&lt;/p&gt;&lt;p&gt;（3）同样在BLL层要实现对DAL的调用，需要建立同样的四个业务操作类，UserMgr，RoleMgr，RoleFunMgr，FunMgr，每个类里面实现同样的调用方法。&lt;/p&gt;&lt;p&gt;（4）Tools暂不考虑，主要存放经常用的类&lt;/p&gt;&lt;p&gt;（5）UI层，表现层，可以是Web或者Winform等形式&lt;/p&gt;&lt;p&gt;搭建好的代码框架如下：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051223381952.png" alt="" /&gt;&lt;/p&gt;&lt;div class="dayTitle"&gt;4. 开始OOP的分析应用--封装&lt;/div&gt;&lt;p&gt;面向对象的第一个特性是：封装，其实我们已经实现了，分层就是封装的最好体现，各层相互调用，&amp;ldquo;低耦合，高内聚&amp;rdquo;&lt;/p&gt;&lt;p&gt;这里不在解释封装了。&lt;/p&gt;&lt;div class="dayTitle"&gt;5. OOP--继承&lt;/div&gt;&lt;p&gt;通过上面的代码编写你肯定遇见了灾难了，当随着我们业务功能的不断增加，我们的DAL和BLL类越来越多，越来越难管理了。&lt;/p&gt;&lt;p&gt;更悲催的是，如果每个实体类我想实现一个查询（Search）操作，那么需要在众多的类里面实现这个Search代码，试想那是多么的可怕，你的价值全部浪费在了基础代码的编写上。&lt;/p&gt;&lt;p&gt;如何解决这个问题呢？&lt;/p&gt;&lt;p&gt;那就是采用继承的思想实现，父子类来实现，一个公共的父类（BASE），所有子类继承这个子类，那么子类也就具有了父类的public方法，如果需要增加公共的方法，只需要在父类中添加方法即可实现，所有子类自动会继承。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012051223582448.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;模式如上图所示，这样实现一个Search()方法，我们只需要变动BaseDAL类即可，而其他实体类都不需要动了。试想对若干实体类的系统，这意思想是多么的重要，可以节省大量的时间。&lt;/p&gt;&lt;p&gt;还没有结束，细心的你可能发现，我们的Insert，Update，Delete都需要自己的Model呀，那BaseDAL应该如何实现呢？怎么知道具体的方法去调用具体的Model呢？&lt;/p&gt;&lt;p&gt;哈哈，这里C#提出了引以为豪的&amp;ldquo;泛型&amp;rdquo;思想。通过泛型，可以轻松的解决这个问题。&lt;/p&gt;&lt;div class="dayTitle"&gt;6. 泛型&lt;/div&gt;&lt;p&gt;对于BaseDAL我们可以设计成为泛型的类，在使用该类的时候需要将该类具体的实例化，看代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Collections.Generic;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Linq;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Text;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt; DAL&lt;br/&gt;{&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; BaseDAL&amp;lt;T&amp;gt; &lt;span style="color: #0000ff;"&gt;where&lt;/span&gt; T:&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; ()&lt;br/&gt;    {&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Insert(T t)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;TODO 解析T，通过反向工程构造SQL&lt;/span&gt;&lt;br/&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Update(T t)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;TODO 解析T，通过反向工程构造SQL&lt;/span&gt;&lt;br/&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Delete(T t)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;TODO 解析T，通过反向工程构造SQL&lt;/span&gt;&lt;br/&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;}&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;这样，我们其他的类可以直接继承父类了。但为了整体架构的可塑行，我们DAL层将不做对BaseDAL的继承操作，原因很简单，因为我们可能会切换DAL的技术，例如由ADO.Net切换成HNibernate等，同时DAL作为数据操作层尽量要保持简约。&lt;/p&gt;&lt;p&gt;我们这里在业务逻辑层BLL来实现继承，同样也需要一个BaseBLL的基类。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; DAL;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Collections;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Collections.Generic;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt; BLL&lt;br/&gt;{&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; BaseMgr&amp;lt;T&amp;gt; &lt;span style="color: #0000ff;"&gt;where&lt;/span&gt; T : &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;()&lt;br/&gt;    {&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;可以重写&lt;/span&gt;&lt;br/&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;virtual&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Insert(T t)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; BaseDAL&amp;lt;T&amp;gt;&lt;span style="color: #000000;"&gt;().Insert(t);&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Update(T t)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; BaseDAL&amp;lt;T&amp;gt;&lt;span style="color: #000000;"&gt;().Update(t);&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Delete(T t)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; BaseDAL&amp;lt;T&amp;gt;&lt;span style="color: #000000;"&gt;().Delete(t);&lt;br/&gt;        }&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;重载&lt;/span&gt;&lt;br/&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Delete(List&amp;lt;T&amp;gt;&lt;span style="color: #000000;"&gt; list)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;}&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;然后具体的实体类继承这个BaseMgr&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; Model;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt; BLL&lt;br/&gt;{&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; UserMgr : BaseMgr&amp;lt;User&amp;gt; &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;继承&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #000000;"&gt;    {&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;继承基类最大的好处是，可以写本类自己的特有方法&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;例如User，我想获取所有的用户，而其他的业务逻辑不需要实现这个方法，&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;那么我们可以单独写在这个类里面&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;当然你也可以写在BaseMgr里面，哪样所有的子类都具有这个方法了&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;可以对基类进行重写（多态）&lt;/span&gt;&lt;br/&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Insert(User t)&lt;br/&gt;        {&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;继承基类前的代码&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;public bool Insert(User t)&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;{&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;    return new UserDAL().Insert(t);&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;}&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;public bool Delete(User t)&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;{&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;    return new UserDAL().Delete(t);&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;}&lt;br/&gt;&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;public bool Update(User t)&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;{&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;    return new UserDAL().Update(t);&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;}&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;&lt;br/&gt;    }&lt;br/&gt;}&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #993300;"&gt;&lt;strong&gt;通过泛型实现继承我们获得的最大好处：&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #993300;"&gt;&lt;strong&gt;1，数据库每增加一个实体，代码的Model层只需要增加一个对应的实体类，那么该类的基础操作随即产生了（即，BaseDAL类的所有方法）&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #993300;"&gt;&lt;strong&gt;2，通过在业务层对基类的继承，可以实现特有方法，当然并不是所有的实体类都需要继承，具体看自己的需求&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="dayTitle"&gt;7. OOP-多态&lt;/div&gt;&lt;p&gt;多态性（polymorphisn）是允许你将父对象设置成为和一个或更多的他的子对象相等的技术，赋值之后，父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说，就是一句话：允许将子类类型的指针赋值给父类类型的指针。&lt;/p&gt;&lt;p&gt;实现多态，有二种方式，覆盖，重载。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;覆盖：&lt;/strong&gt;override，上面代码UserMgr类中的Insert方法就是用的覆盖方法，可以重写父类的某些方法来达到自己的业务要求。&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;一定要注意将允许重写的方法事先声明为virtual&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;重载：&lt;/strong&gt;通俗点就是一个方法名，不同的参数类型，例如我想实现一个批量删除功能，方法的名字同样想起名为Delete，那么只需要改变参数即可&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public bool Delete(List&amp;lt;T&amp;gt; listT);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div class="dayTitle"&gt;8. 接口&lt;/div&gt;&lt;p&gt;顾名思义，接口，即插即用，例如插座，只要有对应插头，插入即可使用了。&lt;/p&gt;&lt;p&gt;接口：在编程里面起到的是一种规范，既然是规范，必定是约束若干人的，也就是团队开发项目，大家共同遵循一个规范，协调开发代码，而且互不干扰。&lt;/p&gt;&lt;p&gt;接口更多的是被软件架构师使用，设计好整体的软件架构，直接交给程序员开发即可，程序员只需要按照这种规范做就可以了，对每个接口进行具体的实现。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;注意哦：接口不实现，是可以通过编译的哦&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;div class="dayTitle"&gt;9. 引申架构&lt;/div&gt;&lt;p&gt;通过采用上面的思想，基本上我们可以实现一套牢固的架构了，而且可以复用到任何的系统中。&lt;/p&gt;&lt;p&gt;但技术是在不断革新的，而且需求也是不断变化的，更可怕的是能够运行系统的设备越来越多了，从PC到普通手机，再到智能手机（Android，IOS，WP7），再到平板电脑等等。&lt;/p&gt;&lt;p&gt;还有语言的差异，Java，php等等&lt;/p&gt;&lt;p&gt;这就要求一套架构不但要牢固，更能够适用于各种平台的开发。&lt;/p&gt;&lt;p&gt;为此我们的架构可以引申成一个服务，将上面的架构在加上一个服务层（可以用WCF，可以用MVC4的WebAPI，Restful规范），那么整体的架构就是下面这个样子了。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012022100100850.png" alt="" width="600" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="dayTitle"&gt;10. 总结&lt;/div&gt;&lt;p&gt;软件开发其实就是一种思想，将人的一种思想通过代码形式反映出来。好好用心思考，你就明白为什么会这么做，仔细体会其中的妙处。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2497627.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/05/13/2497627.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/05/08/2490361.html</id><title type="text">IOS Web应用简单本地化</title><summary type="text">目前大多数的企业级IOS应用还是以报表和公文审批为主，而且应用的发展趋势必将是朝Web方向发展的，虽然Native App有着无法比拟的灵活性。如何将IOS上的一个Web页面本地化呢？1.编写一个Native App，然后内嵌WebBroswer2.直接用浏览器打开应用，然后将其“添加至到主屏”，这样下次就不需要输入网址了显而易见，方法2是最灵活，最简便的方法。通过这个方式我们可以扩展，将一个众多应用入口集成到一个页面里面，然后对这个页面统一创建一个桌面入口。通过Web的方式，不用多说比Native App开发效率高多了，而且可以跨平台，随意施展你的才华。本文的重点是：“添加到主屏”如何自定义</summary><published>2012-05-08T08:49:00Z</published><updated>2012-05-08T08:49:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/05/08/2490361.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/05/08/2490361.html"/><content type="html">&lt;p&gt;目前大多数的企业级IOS应用还是以报表和公文审批为主，而且应用的发展趋势必将是朝Web方向发展的，虽然Native App有着无法比拟的灵活性。&lt;/p&gt;&lt;p&gt;如何将IOS上的一个Web页面本地化呢？&lt;/p&gt;&lt;p&gt;1.编写一个Native App，然后内嵌WebBroswer&lt;/p&gt;&lt;p&gt;2.直接用浏览器打开应用，然后将其&amp;ldquo;添加至到主屏&amp;rdquo;，这样下次就不需要输入网址了&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;显而易见，方法2是最灵活，最简便的方法。通过这个方式我们可以扩展，将一个众多应用入口集成到一个页面里面，然后对这个页面统一创建一个桌面入口。&lt;/p&gt;&lt;p&gt;通过Web的方式，不用多说比Native App开发效率高多了，而且可以跨平台，随意施展你的才华。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;本文的重点是：&amp;ldquo;添加到主屏&amp;rdquo;如何自定义图标？以及 打开Safari浏览器 默认隐藏地址栏？&lt;/p&gt;&lt;p&gt;&lt;strong&gt;问题：&amp;ldquo;添加到主屏&amp;rdquo;如何自定义图标？&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;一句代码搞定：在url的地址页面中加入如下代码即可&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;link &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;rel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="apple-touch-icon"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/Content/apple-touch-icon.png"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;href是你的图标文件。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;问题：打开Safari浏览器 默认隐藏地址栏？&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;同样一句代码搞定：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;meta &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="apple-mobile-web-app-capable"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="yes"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br/&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;meta &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="apple-mobile-web-app-status-bar-style"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="black"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;但据说有时候不能打到效果，但我测试过我的ipad2上可以实现。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;这样一个完美的Web App就本地化到你的本本上了，后面的事情简单多了，Web就尽由您发挥了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2490361.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/05/08/2490361.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/05/07/2487044.html</id><title type="text">本博客的CSS样式代码，喜欢的可以拷贝过去哦</title><summary type="text">/**************************************************名称：iMetro HD版本：2.0.0.1时间：2011年1月21日作者：崎仔变更：版本：2.1.0.1时间：2012年5月7日作者：陈杰（JackChain）**************************************************//**************************************************公共样式**************************************************/#EntryTag {</summary><published>2012-05-07T02:48:00Z</published><updated>2012-05-07T02:48:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/05/07/2487044.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/05/07/2487044.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;名称：iMetro HD&lt;br/&gt;版本：2.0.0.1&lt;br/&gt;时间：2011年1月21日&lt;br/&gt;作者：崎仔&lt;br/&gt;&lt;br/&gt;变更：&lt;br/&gt;版本：2.1.0.1&lt;br/&gt;时间：2012年5月7日&lt;br/&gt;作者：陈杰（JackChain）&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;公共样式&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#EntryTag &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 20px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 12px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; gray&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.topicListFooter &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; right&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#divRefreshComments &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; right&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 5px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 12px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;全局样式&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;* &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;body &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;url("http://common.cnblogs.com/Skins/iMetro_HD/images/background.jpg")&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-repeat&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;no-repeat&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-attachment&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;fixed&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;table &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-collapse&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; collapse&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-spacing&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;fieldset, img &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;li &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    list-style&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; none&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;h1, h2, h3, h4, h5, h6 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 100%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; normal&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;a:link, a:visited, a:hover, a:active &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-decoration&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; none&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.clear &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    clear&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; both&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;Home&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#home &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-family&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; "微软雅黑"&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 12px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px 66px 15px 66px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;30px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;25px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    word-wrap&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;break-word&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    box-shadow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0 0 8px black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;relative&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    min-width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;950px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;Header&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#header &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;45px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#blogTitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#lnkBlogLogo &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;30px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    height&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;120px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;block&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;absolute&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#blogLogo &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#blogTitle h1 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 200%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    height&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;50px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;20px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;110px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;url('http://yj.chinacloudtech.com/content/images/logo.png') no-repeat left center&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#blogTitle h2 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#navigator &lt;/span&gt;{&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#navList &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#navList li &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    float&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; left&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.menu &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;gray !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;30px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;250%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;16px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#navList a[href="http://www.cnblogs.com/"] &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;black !important&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.aHeaderXML &lt;/span&gt;{&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.blogStats &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;right&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;gray&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;Main&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#main &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;    &lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;25px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#mainContent .forFlow &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;250px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#mainContent &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    float&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;left&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;-250px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;100%&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.day &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px solid black&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.dayTitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;#CD4900&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.dayTitle a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postTitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;url("http://common.cnblogs.com/Skins/iMetro_HD/images/logo.png")&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-repeat&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;repeat-y&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; -10px 0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;16px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postTitle2 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;bold&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postCon &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;12px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;5px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postDesc &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;gray&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;right&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;5px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postDesc a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;gray&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postSeparator &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px dashed black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.topicListFooter &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.topicListFooter a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;Side Bar&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#sideBar &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;225px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    float&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;right&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#sideBarMain &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;116%&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#sideBarMain li &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;ellipsis&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;hidden&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    white-space&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;nowrap&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.newsItem &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px solid black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#calendar &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px solid black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.Cal &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 100%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.CalTitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;100%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px solid black&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.CalNextPrev a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;normal !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;black !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;transparent !important&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.CalDayHeader &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px dashed black&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#calendar a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; bold&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#calendar a:hover &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; green&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.CalTodayDay &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; bold&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;#CD4900&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.catListTag &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.catListTag li &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    float&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;left&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    float&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0px 4px 6px 0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;visible !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    white-space&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;normal !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    word-break&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;break-all !important&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.catListTag a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px 3px 1px 3px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.div_my_zzk &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;relative&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.input_my_zzk &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 155px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    height&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;25px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;30px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;100px\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    height&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0px\9&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.btn_my_zzk &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-repeat&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;no-repeat&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;25px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;transparent&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 25px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    height&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;25px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; transparent&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-style&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;absolute&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    cursor&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;pointer&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;2px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;6px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-repeat&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;repeat\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    height&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0px\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-style&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;static\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    cursor&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;pointer\9&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#btnZzk &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;url("http://common.cnblogs.com/Skins/iMetro_HD/images/search.png")&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none\0&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.mySearch input[value="谷歌搜索"] &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;url("http://common.cnblogs.com/Skins/iMetro_HD/images/google.png")&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none\9&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none\0&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#leftcontentcontainer &amp;gt; div &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px solid black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.catListTitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;200%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;5px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.catListComment &lt;/span&gt;{&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.recent_comment_body &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-indent&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;2em&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;85%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; gray !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;visible !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    white-space&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;normal !important&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.recent_comment_author &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px dashed black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;85%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;visible !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    white-space&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;normal !important&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;文章&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#topics &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1px solid black&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;12px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;45px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#cnblogs_post_body &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;30px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    overflow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;auto&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#MySignature &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; #F8F8EE&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; solid 1px #E8E7D0&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    box-shadow&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0 0 15px #aaa&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; gray&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#BlogPostCategory &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;5px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#EntryTag &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;right&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#EntryTag a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1px 3px 1px 3px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;评论&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.feedback_area_title &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;133%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;#CD4900&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px 15px 3px 15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.feedbackItem &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;relative&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px solid black&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.feedbackListSubtitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;65px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;5px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px dashed black&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.feedbackManage &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;absolute&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.feedbackManage a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;gray&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.feedbackManage + a[href^="#"] &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;block&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    width&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;50px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    height&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;50px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;absolute&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;133%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;center&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.louzhu &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;#CD4900&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.feedbackCon &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;65px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;35px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;116%&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#comment_nav &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;center&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;#comment_nav a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;116%&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;列表&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistTitle, .PostListTitle, .thumbTitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;#CD4900&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 133%&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistDescription, .thumbDescription &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;3px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;right&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistItem &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1px solid black&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistPosttitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-image&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;url("http://common.cnblogs.com/Skins/iMetro_HD/images/logo.png")&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-repeat&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;repeat-y&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-position&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; -10px 0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistItemTitle &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;200%&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistPostSummary &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;116%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;5px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistItemPostDesc &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;gray&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;right&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;5px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylistItemPostDesc a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;gray&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.entrylist .postSeparator &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;none&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.PostList &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;15px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1px dashed black&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postTitl2 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    float&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; left&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 5px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postDesc2 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    float&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; right&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; gray&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 5px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postText2 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    clear&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;both&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; gray&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 5px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;相册&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.divPhoto &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1px solid green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 2px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-right&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    opacity&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;0.5&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.divPhoto:hover &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    opacity&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;1&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;Footer&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;#footer &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    text-align&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; center&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 2px solid green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 50px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin-left&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;25px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-top&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding-bottom&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*************************************************&lt;br/&gt;文章内部格式&lt;br/&gt;*************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody h1 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; block&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 2em&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; bold&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px auto 2px auto&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody h2 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; block&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1.5em&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; bold&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px auto 2px auto&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody h3 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; block&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1.17em&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;bold&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px auto 2px auto&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody h4 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; block&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;bold&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px auto 2px auto&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody h5 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    display&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; block&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0.83em&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;bold&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px auto 2px auto&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody h6 &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;100%&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-size&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 0.67em&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    font-weight&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;bold&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 15px auto 2px auto&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1px 3px 1px 3px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody a:hover &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postBody blockquote &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; url("http://common.cnblogs.com/Skins/iMetro_HD/images/quote.png") no-repeat -75px -20px #F0F0F0&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    border-radius&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 10px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    margin&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 20px 0px&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 20px 50px&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postCon a &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    padding&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt; 1px 3px 1px 3px&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.postCon a:hover &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;green&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;***********************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br/&gt;.c_b_p_desc_readmore &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;#CD4900 !important&lt;/span&gt;;&lt;br/&gt;}&lt;span style="color: #800000;"&gt;&lt;br/&gt;.c_b_p_desc_readmore:hover &lt;/span&gt;{&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;white !important&lt;/span&gt;;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;    background-color&lt;/span&gt;:&lt;span style="color: #0000ff;"&gt;#CD4900 !important&lt;/span&gt;;&lt;br/&gt;}&lt;/div&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2487044.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/05/07/2487044.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/05/07/2486796.html</id><title type="text">一直忽略的SQLServer2008数据库“生成脚本”功能</title><summary type="text">不知道是受SQLSERVER2000，2005的影响还是，Next的惯性思维，在使用数据库“生成脚本”的时候基本上不会太多关注里面的配置选项，但其实从SQLSERVER2008开始，微软在生成脚本这方面做了很大的改进，让用户自己选择配置的东西更多了。例如经常用到的一个是：从一个数据库将数据导入另一个库，或者向下兼容还原，以前操作很麻烦的，导入导出，链接等等。我自己是经常用第三方软件生成Insert 的SQL，然后到目的数据库执行，当然数据不是太多的情况，这是种比较快速的方法。刚好最近在做WebMisSharp的“生成数据脚本”这个功能，目的就是实现生成Insert SQL的方式，结果偶然间看到</summary><published>2012-05-06T16:49:00Z</published><updated>2012-05-06T16:49:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/05/07/2486796.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/05/07/2486796.html"/><content type="html">&lt;p&gt;不知道是受SQLSERVER2000，2005的影响还是，Next的惯性思维，在使用数据库&amp;ldquo;生成脚本&amp;rdquo;的时候基本上不会太多关注里面的配置选项，但其实从SQLSERVER2008开始，微软在生成脚本这方面做了很大的改进，让用户自己选择配置的东西更多了。&lt;/p&gt;&lt;p&gt;例如经常用到的一个是：从一个数据库将数据导入另一个库，或者向下兼容还原，以前操作很麻烦的，导入导出，链接等等。我自己是经常用第三方软件生成Insert 的SQL，然后到目的数据库执行，当然数据不是太多的情况，这是种比较快速的方法。&lt;/p&gt;&lt;p&gt;刚好最近在做&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/03/20/2407236.html" target="_blank"&gt;WebMisSharp&lt;/a&gt;的&amp;ldquo;生成数据脚本&amp;rdquo;这个功能，目的就是实现生成Insert SQL的方式，结果偶然间看到MVP 张善友的博客&lt;a href="http://www.cnblogs.com/shanyou/archive/2011/03/24/1994369.html"&gt;http://www.cnblogs.com/shanyou/archive/2011/03/24/1994369.html&lt;/a&gt; 我才恍然大悟，尽然凹凸了，实在惭愧。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;那我们来看下SQLSERVER2008的&amp;ldquo;生成脚本&amp;rdquo;功能，不知道大家有没有详细看看里面的配置，没有的话刚好一起看下：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012050700394710.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012050700401253.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012050700403963.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;导出的sql语句：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012050700452498.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;上图用红框标记的是比较常用的功能，你是否有注意到呢？&lt;/p&gt;&lt;p&gt;通过这些配置，基本上可以复制一个数据库的所有SQL，轻松实现数据库不同版本双向复制。&lt;/p&gt;&lt;p&gt;这个问题帮我一个大忙呀，不然又要徒劳的写一个重复的功能到&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/03/20/2407236.html" target="_blank"&gt;WebMisSharp&lt;/a&gt;上，看来以后配置的地方还是要多留意下的。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2486796.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/05/07/2486796.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/04/08/2438300.html</id><title type="text">Android开发随手笔记</title><summary type="text">1、查看优秀的android应用的UI设计，切图等，只需要下载该应用的apk，解压缩包，即可看到该应用中所有的资源了。2、透明色Button或者ImageButton的背景设为透明或者半透明半透明&lt;Button android:background="#e0000000" ... /&gt;透明&lt;Button android:background="#00000000" ... /&gt;颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255（00 到 ff）。对于 alpha，00 表示完全透明，f</summary><published>2012-04-08T15:58:00Z</published><updated>2012-04-08T15:58:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/04/08/2438300.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/04/08/2438300.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;1、查看优秀的android应用的UI设计，切图等，只需要下载该应用的apk，解压缩包，即可看到该应用中所有的资源了。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;2、透明色&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Button或者ImageButton的背景设为透明或者半透明&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;半透明&amp;lt;Button android:background="#e0000000" ... /&amp;gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;透明&amp;lt;Button android:background="#00000000" ... /&amp;gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255（00 到 ff）。对于 alpha，00 表示完全透明，ff 表示完全不透明。表达式顺序是&amp;ldquo;aabbggrr&amp;rdquo;，其中&amp;ldquo;aa=alpha&amp;rdquo;（00 到 ff）；&amp;ldquo;bb=blue&amp;rdquo;（00 到 ff）；&amp;ldquo;gg=green&amp;rdquo;（00 到 ff)；&amp;ldquo;rr=red&amp;rdquo;（00 到 ff）。例如，如果您希望对某叠加层应用不透明度为 50% 的蓝色，则应指定以下值：7fff0000&lt;/p&gt;&lt;p&gt;&lt;strong&gt;设置背景图片透明度（超简单）&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Java代码&lt;/p&gt;&lt;ol&gt;&lt;li&gt;View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id&lt;/li&gt;&lt;li&gt;v.getBackground().setAlpha(100);//0~255透明度值&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;3、统一设定ImageButton的背景样式，鼠标按下，按下效果等。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;首先用ps绘制两张图片，一张是鼠标按下的背景图片，一张透明png（必须透明，以便实用与不同地方，也就是android的#00000000颜色值，效果如下）&lt;/p&gt;&lt;p&gt;[原创:转载请注明 http://yj.chinacloudtech.com http://www.cnblogs.com/qidian10]&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012041210355321.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;下面定义一个drawable/btnstyle.xml 内容如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;xml version="1.0" encoding="utf-8"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;?&amp;gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;selector &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns:android&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br/&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;item &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:state_focused&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; android:state_pressed&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;        android:drawable&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@drawable/btnon"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br/&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;item &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:state_focused&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; android:state_pressed&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;        android:drawable&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@drawable/btnon"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br/&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;item &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:state_focused&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; android:state_pressed&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;        android:drawable&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@drawable/btnon"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br/&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;item &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:drawable&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@drawable/btnbg"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;selector&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;btnbg就是透明图片，btnon是按下效果图片。&lt;/p&gt;&lt;p&gt;然后在引用样式的地方，加上属性：android:background="@drawable/btnstyle" 即可。&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;&amp;nbsp;4、android&amp;nbsp;960*540屏幕适配&amp;nbsp;问题解决&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;功能清单文件里（注：一级目录里添加）&lt;/div&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;xml version="1.0" encoding="utf-8"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;?&amp;gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;manifest &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns:android&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;package&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="com.yj"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; android:versionCode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; android:versionName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;.....&lt;br/&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;supports-screens &lt;br/&gt;       &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:largeScreens&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;       android:normalScreens&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;br/&gt;       android:anyDensity&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;       android:smallScreens&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;br/&gt;       &lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;supports-screens&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;br /&gt;.......&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2438300.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/04/08/2438300.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/03/20/2407236.html</id><title type="text">WebMisSharp的协同开发</title><summary type="text">什么是WebMisSharp WebMisSharp其实是WebMisDeveloper4.5.2的升级软件，为什么要改名和另起一个项目呢？因为随着功能的扩展，原有WebMisSharp架构已经不能满足众多功能的扩展，原软件架构扩展性太差。 如果不知道WebMisDeveloper，请移步：http://www.cnblogs.com/qidian10/archive/2011/01/24/1943489.html再简单用张图解析下WebMisSharp。 在企业中我们开发一款软件，往往从数据库开始，通过PowerDesigner等工具创建库或使用已有的库；然后搭建我们的系统框架，建立每个实.</summary><published>2012-03-19T16:17:00Z</published><updated>2012-03-19T16:17:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/03/20/2407236.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/03/20/2407236.html"/><content type="html">&lt;p&gt;&lt;strong&gt;什么是WebMisSharp&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebMisSharp其实是WebMisDeveloper4.5.2的升级软件，为什么要改名和另起一个项目呢？因为随着功能的扩展，原有WebMisSharp架构已经不能满足众多功能的扩展，原软件架构扩展性太差。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果不知道WebMisDeveloper，&lt;/p&gt;&lt;p&gt;请移步：&lt;a href="http://www.cnblogs.com/qidian10/archive/2011/01/24/1943489.html"&gt;http://www.cnblogs.com/qidian10/archive/2011/01/24/1943489.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;再简单用张图解析下WebMisSharp。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" src="http://pic002.cnblogs.com/images/2012/159380/2012031923565832.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;在企业中我们开发一款软件，往往从数据库开始，通过PowerDesigner等工具创建库或使用已有的库；然后搭建我们的系统框架，建立每个实体，生成每个实体的CRUD方法等，选择UI框架等等等，一切做好了，我们才开始真正的系统业务逻辑开发，而很多业务逻辑也存在的很大的共同性，那么我们的软件WebMisSharp就是找到这些共同的地方，通过软件来生成，将开发人的时间、精力节省下来，投入到更加重要的事情中了，而不是整天坐着敲代码，整天的增删改查！这就是软件的目的。&lt;/p&gt;&lt;p&gt;WebMisSharp软件的范围正如上图所示，囊括数据库的部分，整个基本框架和部分的业务逻辑。开发人员可以在生成的软件基础上面进行简单的完善，即可交付投入一款稳定、优雅的系统。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;如果你知道WebMisDeveloper，那么请继续往下看。新的软件（WebMisSharp）思想和原软件设计思想一致，核心目标一致。&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;通过简单配置产出一套稳定可靠，专业性强，架构优雅的系统！&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;（框架定制、模版定制、代码定制）&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;提高软件研发人员的核心价值！&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;（将更多精力投放在&amp;ldquo;研发、研究、优化、性能、业务流程&amp;ldquo;上，而不是整天的CRUD，改Bug）&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;提高企业中小Mis软件产出率！&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;（通过鼠标操作，产出最接近目标系统的软件，而后进行简单业务修正，完成系统）&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;WebMisSharp&lt;/strong&gt;&lt;strong&gt;本身&lt;/strong&gt;以及&lt;strong&gt;生成的框架系统&lt;/strong&gt;设计标准：简约、优雅、明了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;生成的框架的重点研究方向&lt;/strong&gt;：优雅的架构（最好能实现SOA），完美的RichClient UI（丰富的界面表现和交互能力），架构简洁明了、二次扩展上手快、可配置性高，能实现自动配置；功能稳定同时要保证速度和用户体验，这个是最重要的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;WebMisSharp&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;生成配置简单，功能明了，生成系统框架可配置（可以任意选择基于哪一套框架）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;附加功能：软件开发中常用但是不容易实现的功能（例如数据库向低版本转移，数据字典等富有意义的小功能）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;我们生成的系统定位：&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;不是什么系统都是可以生成的，如果可以，所有程序员都可以回家带小孩了。&lt;/p&gt;&lt;p&gt;1、&amp;nbsp; 基本网站等CMS系统&lt;/p&gt;&lt;p&gt;2、&amp;nbsp; 中小型企业软件系统（框架优势）&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;类似的行业软件：&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;其实这种类似的软件系统早已层出不穷了，简单举例下。&lt;/p&gt;&lt;p&gt;1、&amp;nbsp; 首先大名鼎鼎的IBM，很多软件都是这个思想，例如BPM、WAS、Portal等，客户买过了其实就是一套代码自动生成软件，据了解IBM的一套Portal开发软件是天价，上千万的。&amp;nbsp;&lt;/p&gt;&lt;p&gt;2、&amp;nbsp; 另一个小有名气国产软件，北京起步软件名下的X3，X6也是同一个思想，恰好公司也在用这套系统，自我感觉：思想很好，软件一般，因为可配置的东西太强大了，导致整个框架和数据库据庞大，运行效率一般一般，后期维护成本较高，这个是我们应该吸取的教训，保证生成的业务软件流畅运行。&amp;nbsp;&lt;/p&gt;&lt;p&gt;3、&amp;nbsp; .Net业界牛人，李天平的动软代码生成器，也是一个思想，想必帮助了很多人的忙。而我们与之不同的就在于&lt;strong&gt;优雅的框架，完美的RichClient。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;WebMisSharp目前开发情况&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 首先WebMisDeveloper里面的简单三层框架做了优化和整改，整体设计风格更加的优雅，各层采用反射实现代码重用，WebUI表现层用到了MVC3.0，主要是面向网站前台开发，而企业应用则是整体放到了Admin文件夹中。由于MVC3.0的Razor不支持Ext.net，所以Ext.Net开发模式跟以前的不变。如果不想用Ext.Net绘制UI层，同样我们提供了一套基于EasyUI的UI架构。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000002669.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000004732.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000010585.jpg" alt="" width="782" height="454" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000013724.jpg" alt="" width="782" height="426" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000020831.jpg" alt="" width="781" height="404" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000023962.jpg" alt="" width="783" height="455" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 14pt;"&gt;&lt;strong&gt;目前提供本框架的源代码，下载地址，请到群共享中下载。QQ 1群：215194296&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;strong style="color: #ff0000; font-size: 14pt;"&gt;已满。QQ&amp;nbsp;2群:231537514&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;关于WebMisSharp，目前也只是针对上面的这一套框架做了部分功能。功能说明如下。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000080259.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;系统启动闪屏界面&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000063963.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;新建项目：&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000082925.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;主界面：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000090224.jpg" alt="" width="839" height="475" /&gt;&lt;/p&gt;&lt;p&gt;打开表：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000093520.jpg" alt="" width="833" height="475" /&gt;&lt;/p&gt;&lt;p&gt;根据表，可以生成字段备注，将该表配置到我们的框架中，自动生成代码。&amp;nbsp;&lt;/p&gt;&lt;p&gt;目前因为各个方面的原因只做到了这一部，而且有点粗糙，bug应该不少。所以希望广大.Net爱好者，可以参与到项目中共同的提高。&amp;nbsp;&lt;/p&gt;&lt;p&gt;整个的WebMisSharp架构很好理解，大家应该一看就懂，再此不在赘述。&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;有不了解的地方可以到群里面提&lt;/span&gt;&lt;/strong&gt;，会一一解答。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;关于WebMisSharp的协同开发&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;没搞过这个玩意，没啥经验，简单提几点要求。&lt;/p&gt;&lt;p&gt;1、&amp;nbsp; 有好的想法你随便提，具体实现不实现是另一回事情。&lt;/p&gt;&lt;p&gt;2、&amp;nbsp; 参与开发的应具备开放的心态，心存感恩，胸怀宽广，重大局。&lt;/p&gt;&lt;p&gt;3、&amp;nbsp; 需要有一定的WinForm、Web、Ext.Net/Jquery/Dojo的开发经验。&lt;/p&gt;&lt;p&gt;4、&amp;nbsp; 关于WebMisSharp的源码将会放到Google的SVN上托管，具体地址将会在群里公布。&lt;/p&gt;&lt;p&gt;5、&amp;nbsp; 开发出来的功能，需要经过群成员的测试，投票等方式决定是否更新到WebMisSharp上。&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;6、 &lt;/strong&gt;&lt;strong&gt;现阶段WebMisSharp&lt;/strong&gt;&lt;strong&gt;以及其中的各项框架是开源免费的，严禁任何人或组织将其倒卖，用于商业用途等。（已经在淘宝发现有人倒卖WebMisDeveloper&lt;/strong&gt;&lt;strong&gt;）&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012032000105317.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 14pt;"&gt;&lt;strong&gt;请各位爱好者本着一颗善良、友好的心对待。还请广大爱好者积极提好的意见建议。&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 12px;"&gt;&lt;strong&gt;非常欢迎感兴趣的朋友加入我们：&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 12px;"&gt;&lt;strong&gt;&lt;span&gt;&lt;strong&gt;QQ 1群：215194296&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;已满。&lt;/strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 12px;"&gt;&lt;strong&gt;&lt;strong&gt;QQ&amp;nbsp;2群:231537514 &amp;nbsp;&lt;/strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 12px;"&gt;&lt;strong&gt;Email：&lt;a href="mailto:JackChain@ChinaCloudTech.com"&gt;JackChain@ChinaCloudTech.com&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 12px;"&gt;&lt;strong&gt;&lt;a href="mailto:OvenJackChain@gmail.com"&gt;OvenJackChain@gmail.com&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 12px;"&gt;&lt;strong&gt;博客园小组：&lt;a href="http://home.cnblogs.com/group/102663/"&gt;http://home.cnblogs.com/group/102663/&lt;/a&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 12px;"&gt;&lt;strong&gt;个人QQ：710782046&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12px;"&gt;&amp;nbsp;源码下载地址： &lt;a href="http://yj.chinacloudtech.com/Creative"&gt;http://yj.chinacloudtech.com/Creative&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; font-size: 14pt;"&gt;&lt;strong&gt;再次声明：&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;WebMisSharp是WebMisDeveloper的升级版本，但是目前是个不完全的（不完善的，仅仅是个CS软件框架和一个自动生成的功能）。&lt;/p&gt;&lt;p&gt;为什么把不完全的东西放出来？因为很多网友都对此感兴趣，但这个东西必须有一套完善的Web架构，如果没有强悍的Web架构支持，那么WebMisSharp本身也就没有意义了，因为开发WebMisSharp的一个原因就是能帮助大家快速开发出来Web系统。而我最近一直很忙，没那么多时间研究了，寻找一套非常优雅的架构也不是那么简单的事情，所以一只没有开发上的进展，所以放出源码，就是希望大家有空并且有兴趣的可以在此基础上开发完善，同时吸取好的功能，一起开源出来，最终汇集成一个完善的软件！这是目的。&lt;/p&gt;&lt;p&gt;希望大家体谅，另外QQ群已经满了，不能加群的请加如小组吧。&lt;/p&gt;&lt;p&gt;再次感谢您的支持。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2407236.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/03/20/2407236.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/qidian10/archive/2012/03/01/2376159.html</id><title type="text">在.Net中实现RichClient+Restful+JPA架构-探索实现</title><summary type="text">兵马未动，粮草先行，开始项目的时候我习惯为项目起一个漂亮的名字，好的开始是成功的一半嘛，一个帅的名字能让我做的更有激情。呵呵，废话少说，我给项目起的名字是：ElegantSharp，Elegant：优雅的，Sharp：尖锐、锋利。好的架构注定是优雅的，漂亮的；而且必定是尖锐锋利的。一、技术选型 我们要实现的架构是RichClient（富客户端）+Restful（SOA）+JPA（持久化机制），本架构也是目前系统架构的主流趋势。 1、首先分析富客户端技术，UI作为直接接触用户的层面，交互性、稳定性、速度、美观、便捷、友好是主要的研究方向，目前市面上比较流行的RichCilent技术主要有：J..</summary><published>2012-03-01T12:17:00Z</published><updated>2012-03-01T12:17:00Z</updated><author><name>jackchain</name><uri>http://www.cnblogs.com/qidian10/</uri></author><link rel="alternate" href="http://www.cnblogs.com/qidian10/archive/2012/03/01/2376159.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/qidian10/archive/2012/03/01/2376159.html"/><content type="html">&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;兵马未动，粮草先行，开始项目的时候我习惯为项目起一个漂亮的名字，好的开始是成功的一半嘛，一个帅的名字能让我做的更有激情。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;呵呵，废话少说，我给项目起的名字是：ElegantSharp，Elegant：优雅的，Sharp：尖锐、锋利。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;好的架构注定是优雅的，漂亮的；而且必定是尖锐锋利的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;一、技术选型&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;我们要实现的架构是RichClient（富客户端）+Restful（SOA）+JPA（持久化机制），本架构也是目前系统架构的主流趋势。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;1、首先分析富客户端技术，UI作为直接接触用户的层面，交互性、稳定性、速度、美观、便捷、友好是主要的研究方向，目前市面上比较流行的RichCilent技术主要有：JQuery，Ext.Net(Extjs),Dojo。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;JQuery：轻量、开源、资源繁多、也是最受欢迎的富客户端技术，但相对来说控件库不足，仍需要用户自己扩展实现。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;Ext.net:不支持MVC3.0的Razor模式，直接放弃，另一个基于Ext.net的框架以前已经实现过，并且做了很多的企业应用系统，总体来说Ext.net能大大提高开发效率，而且有丰富的控件库，但ADSL外网网络基本上会卡死，另外如果页面控件多了，浏览器占用内存相当严重，比较适合做企业内部不太复杂的应用（想学习的朋友可以看：&lt;a href="http://www.cnblogs.com/qidian10/archive/2011/01/24/1943489.html"&gt;http://www.cnblogs.com/qidian10/archive/2011/01/24/1943489.html&lt;/a&gt;）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;Extjs：收费，学习代价相对较高，暂不考虑&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;Dojo：学习成本较高，而且以前从未搞过&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体; color: #ff0000;"&gt;那么我们初步选型采用JQuery UI来实现UI层。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;2、Restful（服务层）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;　 据我所知，在C#里面实现Restful，貌似WCF Rest提供一套机制，看过一套源码。另外据说MVC也支持Restful，但目前还没发现应该怎么用，这一块的技术先暂时放一下，还需要慢慢研究下，如果有熟悉的朋友，请您留言，学习一下。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;3、JPA（JAVA里的概念），持久化机制，目前比较火的主要有DBUtility，NHibernate，EF4.x（EF5.x）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;以前的开发一直用的是自己封装好的一套ORM，问题虽然没发现，但总感觉不靠谱，这次既然要做一套比较主流的架构，那么也应该配用潮流的东西。Nhibernate以前一用过，但总感觉要配置太多的东西，尤其是引入Spring.Net，只是配置文件就要好多。&lt;span style="color: #ff0000;"&gt;理所当然我选择了EF4.x配合Linq确实挺爽的&lt;/span&gt;，而且EF5马上要到来，据说性能大大的提高了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;4、Of Course 整体UI架构风格采用非常爽的&lt;span style="color: #ff0000;"&gt;MVC3.0 Razor&lt;/span&gt;模式。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;二、搭建ElegantDAL层（数据访问层）&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;要实现的工作：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;1、查询所有（FindALL)、分页查询（FindByPage）、获取行数（GetTotalCount）、根据条件获取记录（FindByConditions）、获取单个实体（FindById）、Insert、Update、Delete&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;2、采用泛型，将这些方法应用到所有的Model&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;3、配置EF&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;（1）首先创建数据表：&lt;/span&gt;&lt;span style="font-family: 黑体;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;CREATE&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;TABLE&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;dbo&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;WMS_USERFUN&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt;(&lt;br /&gt;    &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;funid&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;int&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt;  &lt;span style="color: #0000ff;"&gt;primary&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;key&lt;/span&gt;,&lt;br /&gt;    &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;funno&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;varchar&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;200&lt;/span&gt;) &lt;span style="color: #808080;"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;    &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;funname&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;varchar&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;) &lt;span style="color: #808080;"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;    &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;fatherid&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;int&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;NULL&lt;/span&gt;&lt;br /&gt;)&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;CREATE&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;TABLE&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;dbo&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;WMS_ROLEFUN&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt;(&lt;br /&gt;    &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;pid&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;int&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff00ff;"&gt;IDENTITY&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;,&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;) &lt;span style="color: #0000ff;"&gt;primary&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;key&lt;/span&gt;,&lt;br /&gt;    &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;roleid&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;int&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #808080;"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;    &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;funid&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;[&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;int&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;]&lt;/span&gt; &lt;span style="color: #808080;"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;NULL&lt;/span&gt;&lt;br /&gt;)&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;（2）新建MVC3.0网站，同时创建三个个类库，一个是ElegantModel，一个是&lt;span&gt;ElegantDAL，一个是ElegantBLL&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt; (3) 创建两个表的Model&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 黑体;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;Model接口文件IEntity&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantModel&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;interface&lt;/span&gt; IEntity&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Id { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; }&lt;br /&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.ComponentModel;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.ComponentModel.DataAnnotations;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt; * 作者：陈杰&lt;br /&gt; * QQ  : 710782046&lt;br /&gt; * Email:ovenjackchain@gmail.com&lt;br /&gt; * Web :&lt;/span&gt;&lt;span style="color: #008000; text-decoration: underline;"&gt;http://www.ChinaCloudTech.com&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantModel&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; WMS_USERFUN : IEntity&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; WMS_USERFUN() { }&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#region&lt;/span&gt; 属性&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 节点ID&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; //指定该为主键&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        [Key,Column(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;funid&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;)]&lt;br /&gt;        [DatabaseGenerated(DatabaseGeneratedOption.None)] &lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Id { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 功能链接&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; funno { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 功能名称&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; funname { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 父节点&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; fatherid { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#endregion&lt;/span&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.ComponentModel;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.ComponentModel.DataAnnotations;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt; * 作者：陈杰&lt;br /&gt; * QQ  : 710782046&lt;br /&gt; * Email:ovenjackchain@gmail.com&lt;br /&gt; * Web :&lt;/span&gt;&lt;span style="color: #008000; text-decoration: underline;"&gt;http://www.chinacloudtech.com&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantModel&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; WMS_ROLEFUN:IEntity&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#region&lt;/span&gt; 构造函数&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; WMS_ROLEFUN()&lt;br /&gt;        { }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#endregion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#region&lt;/span&gt; 属性&lt;br /&gt;        [Key,Column(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;pid&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;)]&lt;br /&gt;        [DatabaseGenerated(DatabaseGeneratedOption.Identity)] &lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Id&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; roleid&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; funid&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#endregion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;　 &amp;nbsp; (3)&lt;span style="font-family: 黑体;"&gt;在&lt;/span&gt;&lt;span style="font-family: 黑体;"&gt;ElegantDAL层中，通过NuGet获取最新的EF包，然后创建一个基类：RepositoryBase.cs&lt;/span&gt;&lt;span style="font-family: 黑体;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Data.Entity;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; ElegantModel;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantDAL&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; DB : DbContext&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;配置连接串&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; DB() : &lt;span style="color: #0000ff;"&gt;base&lt;/span&gt;(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;DBConStr&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;) { }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; DbSet&amp;lt;WMS_USERFUN&amp;gt; WMS_USERFUN { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; DbSet&amp;lt;WMS_ROLEFUN&amp;gt; WMS_ROLEFUN { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;abstract&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; RepositoryBase&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#region&lt;/span&gt; 单件模式创建一个类对象&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; DB dbContext = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; DB CreateInstance()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (dbContext == &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)&lt;br /&gt;                dbContext = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; DB();&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; dbContext;&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;#endregion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; DB _db = CreateInstance();&lt;br /&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt;因为基类里面配置了连接串，所以请在Web.config中加入相应的配置。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;add &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="DBConStr"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;         connectionString&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Data Source=localhost;User ID=sa;Password=ovenjackchain;DataBase=WebMisSharp;"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;         providerName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="System.Data.SqlClient"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;.....&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt;创建上述方法的接口和实现类，这里用到了泛型和Linq的知识，不懂的可以留言询问。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq.Expressions;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantDAL&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;interface&lt;/span&gt; IEFRepository&amp;lt;T&amp;gt; &lt;span style="color: #0000ff;"&gt;where&lt;/span&gt; T:&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        List&amp;lt;T&amp;gt; FindAll();&lt;br /&gt;        List&amp;lt;T&amp;gt; FindByConditions(Func&amp;lt;IQueryable&amp;lt;T&amp;gt;, IOrderedQueryable&amp;lt;T&amp;gt;&amp;gt; order, &lt;span style="color: #0000ff;"&gt;params&lt;/span&gt; Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt;[] filters);&lt;br /&gt;        List&amp;lt;T&amp;gt; FindByPage(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; startIndex, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; pageSize, Func&amp;lt;IQueryable&amp;lt;T&amp;gt;, IOrderedQueryable&amp;lt;T&amp;gt;&amp;gt; order, Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; filters);&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; GetCount(Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; filters);&lt;br /&gt;        T FindById(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Id);&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Insert(T _t);&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Update(T _t);&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Delete(T _t);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Data.Entity;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; ElegantModel;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Data;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq.Expressions;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantDAL&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; EFRepository&amp;lt;T&amp;gt; : RepositoryBase, IEFRepository&amp;lt;T&amp;gt; &lt;span style="color: #0000ff;"&gt;where&lt;/span&gt; T : &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;,IEntity&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 获取所有的数据&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;T&amp;gt; FindAll()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; DBSET.ToList();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 根据查询条件和排序方法返回结果集&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="order"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;排序方法的委托&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="filters"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;查询条件&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;T&amp;gt; FindByConditions(Func&amp;lt;IQueryable&amp;lt;T&amp;gt;, IOrderedQueryable&amp;lt;T&amp;gt;&amp;gt; order, &lt;span style="color: #0000ff;"&gt;params&lt;/span&gt; Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt;[] filters)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                IQueryable&amp;lt;T&amp;gt; rs = DBSET.AsQueryable();&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (filters != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; filter &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; filters)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (filter != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)&lt;br /&gt;                        {&lt;br /&gt;                            rs = rs.Where(filter);&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (order != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    rs = order(rs);&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; rs.ToList();&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 根据开始索引、每页大小查询条件和排序方法返回分页结果集，适用于前台分页件&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="startIndex"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;开始索引&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="pageSize"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;页面大小&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="totalCount"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;数据总数&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="order"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;排序方法的委托&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="filters"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;查询条件&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;T&amp;gt; FindByPage(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; startIndex, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; pageSize,Func&amp;lt;IQueryable&amp;lt;T&amp;gt;, IOrderedQueryable&amp;lt;T&amp;gt;&amp;gt; order, Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; filters)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                IQueryable&amp;lt;T&amp;gt; rs = order(DBSET.Where(filters));&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (startIndex &amp;lt; &lt;span style="color: #800080;"&gt;0&lt;/span&gt; || pageSize &amp;lt; &lt;span style="color: #800080;"&gt;1&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; rs.ToList();&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;else&lt;/span&gt;&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; rs.Skip(startIndex * pageSize).Take(pageSize).ToList();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 根据条件获取总数据行数&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="conditions"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; GetCount(Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; filters)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; DBSET.Count(filters);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 根据ID获取实体&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="Id"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;实体主键ID&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;返回实体&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; T FindById(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Id)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; DBSET.Single(t =&amp;gt; t.Id == Id);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 插入&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="_t"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;实体&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;是否成功&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Insert(T _t)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                DBSET.Add(_t);&lt;br /&gt;                _db.SaveChanges();&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 更新&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="_t"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;实体&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;是否成功&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Update(T _t)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; entry = _db.Entry(_t);&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (entry.State == EntityState.Detached)&lt;br /&gt;                {&lt;br /&gt;                    entry.State = EntityState.Modified;&lt;br /&gt;                }&lt;br /&gt;                _db.SaveChanges();&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 删除&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;param name="_t"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;实体&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;是否成功&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Delete(T _t)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                DBSET.Remove(_t);&lt;br /&gt;                _db.SaveChanges();&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;         &lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 泛型数据表属性         &lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt; DbSet&amp;lt;T&amp;gt; DBSET&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; _db.Set&amp;lt;T&amp;gt;();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;         &lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 操作提交         &lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;public override void SaveChanges()&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;{&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;    base.SaveChanges();&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;}&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;&lt;span style="font-size: 14pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 黑体;"&gt;三、数据访问层大功告成了，接下来实现BLL层，BLL就相对简单了，主要用到一个工厂模式。&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt;BLL我就暂时不写接口了&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 黑体;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; ElegantDAL;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; ElegantModel;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq.Expressions;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantBLL&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; WMS_Core&amp;lt;T&amp;gt; &lt;span style="color: #0000ff;"&gt;where&lt;/span&gt; T : &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;,IEntity&lt;br /&gt;    {&lt;br /&gt;        IEFRepository&amp;lt;T&amp;gt; IEF = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EFRepository&amp;lt;T&amp;gt;();&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;T&amp;gt; FindAll()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.FindAll();&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;T&amp;gt; FindByConditions(Func&amp;lt;IQueryable&amp;lt;T&amp;gt;, IOrderedQueryable&amp;lt;T&amp;gt;&amp;gt; order, &lt;span style="color: #0000ff;"&gt;params&lt;/span&gt; Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt;[] filters)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.FindByConditions(order, filters);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;T&amp;gt; FindByPage(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; startIndex, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; pageSize, Func&amp;lt;IQueryable&amp;lt;T&amp;gt;, IOrderedQueryable&amp;lt;T&amp;gt;&amp;gt; order, Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; filters)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.FindByPage(startIndex, pageSize, order, filters);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; GetCount(Expression&amp;lt;Func&amp;lt;T, &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; filters)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.GetCount(filters);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; T FindById(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Id)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.FindById(Id);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Insert(T _t)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.Insert(_t);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Update(T _t)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.Update(_t);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; Delete(T _t)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; IEF.Delete(_t);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt;工厂&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; ElegantModel;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantBLL&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; WMS_Factory&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; WMS_Core&amp;lt;WMS_USERFUN&amp;gt; WMS_USERFUN { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt; { &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; WMS_Core&amp;lt;WMS_USERFUN&amp;gt;(); } }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; WMS_Core&amp;lt;WMS_ROLEFUN&amp;gt; WMS_ROLEFUN { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt; { &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; WMS_Core&amp;lt;WMS_ROLEFUN&amp;gt;(); } }&lt;br /&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;四、在UI层里面实现测试，这里只做测试，具体JQuery怎么交互，后面的文章介绍。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt;我们在HomeController里面写入如下代码：&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Web;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Web.Mvc;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; ElegantBLL;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; ElegantModel;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; ElegantSharp.Controllers&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; HomeController : Controller&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; ActionResult Index()&lt;br /&gt;        {&lt;br /&gt;            ViewBag.Message = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;欢迎使用 ASP.NET MVC!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;            ViewBag.Count = WMS_Factory.WMS_USERFUN.GetCount(c =&amp;gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;);&lt;br /&gt;            ViewBag.SingleEntity = WMS_Factory.WMS_USERFUN.FindById(&lt;span style="color: #800080;"&gt;1230&lt;/span&gt;);&lt;br /&gt;            ViewBag.FirstPage = WMS_Factory.WMS_USERFUN.FindByPage(&lt;span style="color: #800080;"&gt;1&lt;/span&gt;, &lt;span style="color: #800080;"&gt;3&lt;/span&gt;, rs =&amp;gt; rs.OrderByDescending(c =&amp;gt; c.Id), c =&amp;gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;);&lt;br /&gt;            ViewBag.FirstPageCon = WMS_Factory.WMS_USERFUN.FindByPage(&lt;span style="color: #800080;"&gt;0&lt;/span&gt;, &lt;span style="color: #800080;"&gt;3&lt;/span&gt;, rs =&amp;gt; rs.OrderByDescending(c =&amp;gt; c.Id), c =&amp;gt; c.fatherid != &lt;span style="color: #800080;"&gt;0&lt;/span&gt; &amp;amp;&amp;amp; c.fatherid != &lt;span style="color: #800080;"&gt;2000&lt;/span&gt;);&lt;br /&gt;            &lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;            WMS_USERFUN w = new WMS_USERFUN();&lt;br /&gt;            w.fatherid = 0;&lt;br /&gt;            w.funname = "测试xxxx";&lt;br /&gt;            w.funno = "abc";&lt;br /&gt;            w.Id = 3000;&lt;br /&gt;            //测试插入&lt;br /&gt;            WMS_Factory.WMS_USERFUN.Insert(w);&lt;br /&gt;            //测试更新&lt;br /&gt;            WMS_Factory.WMS_USERFUN.Update(w);&lt;br /&gt;            WMS_ROLEFUN rolefun = WMS_Factory.WMS_ROLEFUN.FindById(25);&lt;br /&gt;            //测试删除&lt;br /&gt;            if (rolefun != null)&lt;br /&gt;                WMS_Factory.WMS_ROLEFUN.Delete(rolefun);&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; View(WMS_Factory.WMS_USERFUN.FindAll());&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; ActionResult About()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; View();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt;运行结果如下：&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/159380/2012030120094510.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;span&gt;&lt;br /&gt;好了，到这里，可以说我们架构搭建只完成了30%，为什么这么说，因为聪明的你会发觉，通篇其实只是做了EF的配置和泛化方法，那么在后面的文章中将会继续探索UI层的JQuery框架实现和Restful的实现，同时希望大牛们能够提供技术支持，技术思路。欢迎留言评论。&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 黑体;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/qidian10/aggbug/2376159.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/qidian10/archive/2012/03/01/2376159.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
