﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-片言程序</title><link>http://www.cnblogs.com/axzxs2001/</link><description>技术有你 共同前行</description><language>zh-cn</language><lastBuildDate>Wed, 10 Feb 2010 05:43:23 GMT</lastBuildDate><pubDate>Wed, 10 Feb 2010 05:43:23 GMT</pubDate><ttl>60</ttl><item><title>有感微软中文论坛2010party</title><link>http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Wed, 03 Feb 2010 13:59:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html</guid><description><![CDATA[<p>阅读: 52 评论: 1 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2010-02-03 21:59 <a href="http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html" target="_blank">原文链接</a></p><p style="text-indent: 21pt">&nbsp;</p>
<p style="text-indent: 21pt">1<span style="font-family: 宋体">月</span>31<span style="font-family: 宋体">号，是周末，很荣幸收到邀请参加微软中文技术论坛</span>2010 party<span style="font-family: 宋体">，这是我第一次参加论坛的</span>party<span style="font-family: 宋体">，因为</span>2009<span style="font-family: 宋体">年的那次我不在北京，没有能参加，所以这次就带了更多的好奇。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">虽然坐车出了点小插曲（比起冯瑞涛同志，我还算幸运，因为他在来的路上把钱包丢了），但还是如期到达微软大厦。我到时已经来了很多论坛的朋友，很多都不认识，因为都是线上论坛交流，但也不乏老朋友，比如</span>MVP<span style="font-family: 宋体">葛涵涛，陈广琛等。当到了微软，也少不了东家的人，两个</span>MVP Leader<span style="font-family: 宋体">，俞晖，班倩超等。利用茶歇，作了简单交流。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">整个</span>party<span style="font-family: 宋体">由紫柔主持，因为她是论坛的大管家，自然这份工作由她负责了。</span>party<span style="font-family: 宋体">分几个部分，主要有感谢版主，微软新产品的</span>session<span style="font-family: 宋体">，会员献礼，论坛生日切蛋糕。没有想到的是在感谢版主环节，我还得到了&#8220;表杨&#8221;，礼品是一本</span>C#<span style="font-family: 宋体">书籍。接下来是四个</span>session<span style="font-family: 宋体">，我和大家分享了一下敏捷开发和</span>vs2010<span style="font-family: 宋体">，因为时间只有</span>15 <span style="font-family: 宋体">分钟，所以跑马观花的过了一些概念，主要是什么是敏捷宣言，</span>XP<span style="font-family: 宋体">，</span>Scrum<span style="font-family: 宋体">，和</span>vs2010<span style="font-family: 宋体">中那些功能适合敏捷开发（后面附上</span>PPT<span style="font-family: 宋体">）。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">
<div align="center"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/party2.JPG" width="448" height="299" /></div></span></p>
<p style="text-indent: 21pt"></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体">（</span>sisley<span style="font-family: 宋体">切生日蛋糕）</span></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/party3.JPG" width="448" height="300" /></span></p>
<p style="text-indent: 21pt"></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体">（我的</span>session<span style="font-family: 宋体">）</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">我觉得最使人难忘的是会员献礼这个环节，其实大家都互不认识，可能理多的人也是为了得到答案而来论坛，虽然论坛上也有很多热心的朋友回答题，但我觉得这都是举手之劳。然而这些有心人士拿着他们各种各样的礼品，来给论坛过生日，实在是难得，不但有美术品，还有手工，有的是</span>vdieo<span style="font-family: 宋体">，还有做了个小小的论坛加图软件，每个都很细致，可见大家都是用心去做，并且用心在爱着论坛。</span></p>
<p style="text-indent: 21pt"></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/party5.JPG" width="448" height="336" /></span></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体">（献礼一）</span></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/party4.JPG" width="448" height="299" /></span></p>
<p style="text-indent: 21pt"></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体">（献礼二）</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">像这样的聚会其实挺好，平时大家都是在线上交流，可能有的人在线上都非常熟了，但苦于没有一个机会聚聚。这次虽然不是全国的版主，更不是全国的会员，但能集中北京地区，就很是一个很不错的机会了。在</span>party<span style="font-family: 宋体">中，大家还来张大合影。</span></p>
<p style="text-indent: 21pt" align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/party1.JPG" /></span></p>
<p style="text-indent: 21pt"></p>
<p style="text-align: center; text-indent: 21pt" align="center"><span style="font-family: 宋体">（大合影）</span></p> <img src="http://www.cnblogs.com/axzxs2001/aggbug/1663021.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>.net中的TDD</title><link>http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Mon, 18 Jan 2010 08:19:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html</guid><description><![CDATA[<p>阅读: 104 评论: 0 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2010-01-18 16:19 <a href="http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html" target="_blank">原文链接</a></p><p style="text-indent: 21pt">TDD(Test-Driven Development)<span style="font-family: 宋体">测试驱动开发，就是以测试用例来带动开发，也就是先做测试用例，然后根据测试用例做开发。</span>TDD<span style="font-family: 宋体">的好外使是开发人员可以针对性的做开发，目标就是通过测试用例，当然，</span>TDD<span style="font-family: 宋体">更适合做逻辑的程序员，不适合更多的与</span>UI<span style="font-family: 宋体">开发相关的程序员。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">不管是</span>TDD<span style="font-family: 宋体">也好，传统的开发也好，肯定要先做设计，设计展开后如果采用普通方法做开发，那就是开始写代码，然后单元测试，集成测试等工作。如果用</span>TDD<span style="font-family: 宋体">，那就要先从设计中把测试列表（其实就是要实现的功能，人机交互的条目罗列出来，形成一个列表）整理出来。然后就开始开发，在</span>TDD<span style="font-family: 宋体">中，&#8220;红</span>-<span style="font-family: 宋体">绿</span>-<span style="font-family: 宋体">重构&#8221;的过程很多说明</span>TDD<span style="font-family: 宋体">的文章都要说到，本篇也不例外。</span></p>
<p><span style="font-family: 宋体; font-size: 10.5pt">有了测试列后，先拿出一个条目，进行测试的开发，开发完成运行，因为被测的程序还没有编写肯定是失败的，然后实现程序，再测，可能还失败，改成，测试成功，然后重构来优化代码，再进入下一个测试条目的循环。</span></p>
<p><span style="font-family: 宋体; font-size: 10.5pt"><img style="width: 530px; height: 501px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TDDCycle.jpg" width="530" height="501" /></span></p>
<p><span style="font-family: 宋体; font-size: 10.5pt">&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在</span>.net<span style="font-family: 宋体">平台下，怎么去实现呢？</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">本例中用</span>VS2010<span style="font-family: 宋体">行进说明，设计部分，可以用</span>vs2010<span style="font-family: 宋体">的新功能</span>Modeling<span style="font-family: 宋体">，在</span>Modeling<span style="font-family: 宋体">里，可以画类图，还可以添加其中的成员，包括返回值类型，参数个数和类型，有了这些方法的签名，对我们先构建测试就提供了依据，对测试程序来说，不关心实现的细节，只用知道参数是什么，返回是什么，拿上这个方法的返回值与给定的返回值作对比，从而来确定方法实现的功能是否正确。在</span>Visual Studio<span style="font-family: 宋体">中，可以很方便的来自动创建单元测试，这些方便要归功于&#8220;反射&#8221;这个技术。当然，一般而然，测试不是只有一个数据，可能要一系列数据，或者更多的数据，在</span>.net<span style="font-family: 宋体">平台下，也提供了相应的功能。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">下面来做个</span>DEMO<span style="font-family: 宋体">说明一下。</span></p>
<p><span style="font-family: 宋体; font-size: 10.5pt">先看一个类图，也可以把类中的主要功能，当成一个个条目添加到测试列表中。</span></p>
<p></span><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/UT_ClassMap.jpg" width="173" height="124" /></p>
<p>&nbsp;</p>
<p style="text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">我们选一个条目&#8212;&#8212;</span><span lang="EN-US"><font face="Calibri">GetRecord</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，参数是一个</span><span lang="EN-US"><font face="Calibri">ID</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的整型，返回值是一个逻辑类型，本方法用来实现在一个库中查询输入的</span><span lang="EN-US"><font face="Calibri">ID</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，看是否存在。</span></p>
<p><span style="font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">根据类图，可以在类库项目中生成一个类，如下</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">1</span>&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DataOperate<br /></span><span style="color: #008080">2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;GetRecord(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)<br /></span><span style="color: #008080">4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throw</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Exception(</span><span style="color: #800000">"</span><span style="color: #800000">没有实&#204;现?</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">8</span>&nbsp;<span style="color: #000000"></span></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">接下来，可以继于这个方法，来自动创建一个单元测试，右键方法，创建测试。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">一个测试的项目就会自动创建进来，在生成的</span>CS<span style="font-family: 宋体">文件中，重点看如下代码（关于单元测试的其他知识可参照</span>http://msdn.microsoft.com/zh-cn/library/ms182515(VS.80).aspx<span style="font-family: 宋体">）</span></p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">[TestMethod()]<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;GetRecordTest()<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataOperate&nbsp;target&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DataOperate();&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;expected&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;actual;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;actual&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;target.GetRecord(id);<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assert.AreEqual(expected,&nbsp;actual);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000"></span></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在这里，测试的用例只有一个</span>id=0<span style="font-family: 宋体">，返回值为</span>false<span style="font-family: 宋体">，现在测试，肯定通不过，因为被测的方法还没有实现。此时叫做&#8220;红&#8221;。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">接下来就要实现</span>GetRecord<span style="font-family: 宋体">方法。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">新建一个类库项目，然后添加一个</span>LINQ To SQL<span style="font-family: 宋体">的子项，把下表拖放进</span>LINQ To SQL<span style="font-family: 宋体">面板。</span></p>
<p style="text-indent: 21pt"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/UT_DataTable.jpg" width="387" height="114" /></p>
<p style="text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">数据表结构</span></p>
<p style="text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"></span><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/UT_Data.jpg" width="439" height="66" /></p>
<p style="text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal">&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">数据表中数据</span></p>
<p style="text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal">&nbsp;</p>
<p style="text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">然后在类库的</span><span lang="EN-US"><font face="Calibri">CS</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件中，添加入下代码：</span></p>
<p style="text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal">&nbsp;</p>
<div class="cnblogs_code">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;GetRecord(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataClasses1DataContext&nbsp;DCDC&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DataClasses1DataContext(</span><span style="color: #800000">"</span><span style="color: #800000">server=.;database=mytestdb;uid=sa;pwd=sa;</span><span style="color: #800000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(DCDC.GetTable</span><span style="color: #000000">&lt;</span><span style="color: #000000">Pic_Table</span><span style="color: #000000">&gt;</span><span style="color: #000000">().Where(record</span><span style="color: #000000">=&gt;</span><span style="color: #000000">record.ID&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">id).Count()&nbsp;</span><span style="color: #000000">==</span><span style="color: #800080">1</span><span style="color: #000000">)<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000"></span></div></div>
<p><span style="font-family: 宋体; font-size: 10.5pt">&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">当然测试是不关心我们用什么技术实现方法的，它只关系输入和输出。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">这时我们再运行测试，会发现测试通过了，这时我们叫做&#8220;绿&#8221;。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">可能有的人发现，在这个测试中，只能测一个数据，没有代表性，如果要测多个数据，还得一个一个换</span>id<span style="font-family: 宋体">值和</span>expected<span style="font-family: 宋体">值。是的，这是一个头痛的事，得想们办法来解决。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">正好，微软有提供数据驱动的单元测试，什么意思呢？就是可以把</span>id<span style="font-family: 宋体">和</span>expected<span style="font-family: 宋体">的值保存在数据源中，然后批量测试。如果全通过说明这个方法实现的没问题，如果有错，也可以针对性的能找出什么数据使</span>GetRecord<span style="font-family: 宋体">方法报错的。这个东西很不错。</span></p>
<p><span style="font-family: 宋体; font-size: 10.5pt">首先来构建一个数据源，</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">XML</span><span style="font-family: 宋体; font-size: 10.5pt">是个不错的选择，新建一个</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">RecordExistTestCase.xml</span><span style="font-family: 宋体; font-size: 10.5pt">文档，内容如下</span></p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="utf-8"&nbsp;</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">DataSourses</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">pic</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">0</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">false</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">pic</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">pic</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">-1</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">false</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">pic</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">pic</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">1</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">true</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">pic</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">DataSourses</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000"></span></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">当然你还可以添加你以为好的测试用例。</span> </p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">再改造一下测试方法</span></p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">1</span>&nbsp;<span style="color: #000000">[DataSource(</span><span style="color: #800000">"</span><span style="color: #800000">Microsoft.VisualStudio.TestTools.DataSource.XML</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">|DataDirectory|\\RecordExistTestCase.xml</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">pic</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;DataAccessMethod.Sequential)]<br /></span><span style="color: #008080">2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;DeploymentItem(</span><span style="color: #800000">"</span><span style="color: #800000">TestDataOperate\\RecordExistTestCase.xml</span><span style="color: #800000">"</span><span style="color: #000000">)]<br /></span><span style="color: #008080">3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;TestMethod()]<br /></span><span style="color: #008080">4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;GetRecordTest()<br /></span><span style="color: #008080">5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br /></span><span style="color: #008080">6</span>&nbsp;<span style="color: #000000">&#8230;&#8230;<br /></span><span style="color: #008080">7</span>&nbsp;<span style="color: #000000">｝<br /></span><span style="color: #008080">8</span>&nbsp;<span style="color: #000000"></span></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-indent: 21pt">OK<span style="font-family: 宋体">，现在就要以用上面</span>xml<span style="font-family: 宋体">里的数据来批量测试了。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">测试通过来，接下来就要程序员来整理一下自写的代码了，比如书写规范问题，方法是否冗余重复，注释是否完善等。也就是所说的重构了。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">到此，一个</span>TDD cycle<span style="font-family: 宋体">就完成了，现实的</span>cycle<span style="font-family: 宋体">可能更复杂，这里只是对单个测试条目单个方法进行说明的。</span></p>
<p><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">TDD</span><span style="font-family: 宋体; font-size: 10.5pt">更适合在敏捷的开发中去用，比如</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">XP</span><span style="font-family: 宋体; font-size: 10.5pt">，虽然</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">scrum</span><span style="font-family: 宋体; font-size: 10.5pt">是侧重管理和组织，也能很好的溶入</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">TDD</span><span style="font-family: 宋体; font-size: 10.5pt">。</span></span></p><img src="http://www.cnblogs.com/axzxs2001/aggbug/1650818.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>做俱乐部的感想</title><link>http://www.cnblogs.com/axzxs2001/archive/2010/01/12/1644585.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Tue, 12 Jan 2010 01:32:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2010/01/12/1644585.html</guid><description><![CDATA[<p>阅读: 74 评论: 4 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2010-01-12 09:32 <a href="http://www.cnblogs.com/axzxs2001/archive/2010/01/12/1644585.html" target="_blank">原文链接</a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 山西.net俱乐部成立于2006年5月，于2006年10月加入微软中国.net俱乐部，同时和微软合作做过多场线下活动，同时也参与了多次微软的线上活动。做俱乐部也有三个多年头了，有很多感概，因为俱乐部的定位从开始的不成熟到后来的成熟化，走过一些弯路。为了做俱乐部朋友少走弯路，所以分享一下山西.net俱乐部的经验。<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;我觉得做俱乐部先得给俱乐部一个定位，我们山西.net俱乐部是这样定位的：俱乐部是一个技术组织，不以盈利为目的，就是把爱好.net技术的人聚在一起。微软与.net俱乐部的关系是松散的，微软对俱乐部没有约束力，也没有任务承担什么，更确切的说微软与俱乐部是合作关系，微软生产的.net技术，是.net俱乐部共同学习的知识。在这里就是把俱乐部是独立的，需要俱乐部自己来组织自己的成员，组织自己的团队，组织自己的活动，而不应该过多依赖微软。刚开始我们也想依赖微软来组织大家，发现这是不现实的，因为.net俱乐部是个民间组织，微软不会有授权什么的，微软.net俱乐部，只能说明我们在学习微软的产品.net平台，而自发组成的一个构散团体，仅此而以，所以不要把俱乐部定位非常高，关键一点是&#8220;松散&#8221;这个词，不管是微软与俱乐部，还是俱乐部内部之间。<br />&nbsp;&nbsp;&nbsp; &nbsp; 再看看俱乐部活动。山西.net俱乐部主要有线上活动和线下活动两部分组成。线下活动一年一般两三次，形式依据需要而定，有时是和微软合作搞活动，有时是俱乐部自发组织的节日的聚会，有时是微软新产品的Preview。当然活动就有开销，通常用这几种方式解决，如果是微软主推的活动，微软可以在活动物品上有所支持，如果是会员自己的聚会活动，当然是我们自己AA制。如果是技术性比较强的活动，我们会把会员单位一起组织，他们提供场地，俱乐部组织活动，包括讲师，时间安排，会务安排等。基本上不直接与费用打交道，只与物品和场地接触，这样也能避免一些不必要的麻烦。（会员单位有两种意思，一种就是我们授牌的那种，一种就是我们俱乐部会员所在的单位）</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp; 做俱乐部关键是做人气，把一些爱好技术与具有一定技术能力的人聚到一起，找出那些愿意为俱乐部服务，愿意贡献的人，组成俱乐部的管理团队（也可以说是服务团队），这样就能开展一些活动。所以在处人上一定谦逊，要站在技术之外来想这个事，因为技术人员都或多或少有一个共性，愿意局限在自己的圈子里。还有每个地方IT发展不太一样，所以组织方式不一样，山西是个IT相对落后的地方，大家对线下活动参与的人数和参与的热诚度不够，所以线上活动较多。另外太原的周末休息有的公司只有一天，所以也给聚会带来不便，所以俱乐部更多的是做线上活动，然后录下来，发布到俱乐部的FTP上，供大家下载看。</p>
<p>所以可以总结为：<br />1、给俱乐部一个准确的定位<br />2、做适合的活动<br />3、做俱乐部靠人气<br /></p><img src="http://www.cnblogs.com/axzxs2001/aggbug/1644585.html?type=1" width="1" height="1" alt=""/><p>评论: 4　<a href="http://www.cnblogs.com/axzxs2001/archive/2010/01/12/1644585.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2010/01/12/1644585.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>SessionID的传送</title><link>http://www.cnblogs.com/axzxs2001/archive/2009/12/07/1618998.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Mon, 07 Dec 2009 15:09:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2009/12/07/1618998.html</guid><description><![CDATA[<p>阅读: 122 评论: 0 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2009-12-07 23:09 <a href="http://www.cnblogs.com/axzxs2001/archive/2009/12/07/1618998.html" target="_blank">原文链接</a></p><p>Http是一个无状太的协议。为了保存浏览器请求状态，服务端通常用Session来实现。Session为了保存状态，生成一个SessionId在</p>
<p>服务端与浏览端传输，以这个唯一的SessionId来识别浏览端在服务端器的身份（在ASP.NET中，SessionId可以通过Cookie和URL两种</p>
<p>与浏览端）。<br />ASP.NET中是怎么样来实现的呢？<br />首先，分两种情况来没有Global.asax和有Global.asax。</p>
<p>Session按Cookie封送<br />先说没有Global.asax：<br />在代码中，如果Session没有子项，也就是Session.Count等于0，浏览器端都没有ASP.NET_SessionId为键的Cookie，一旦Session有</p>
<p>子项，浏览端就会有这个Cookie。<br />如果在代码中用到Session.SessionID,Request.Cookies和Response.Cookies集合中就会多一个以ASP.NET_SessionId为键的项，值为</p>
<p>当前Session.SessionID。如果代码中没有用到Session.SessionID，Request.Cookies["ASP.NET_SessionId"]会为空，</p>
<p>Response.Cookies["ASP.NET_SessionId"]则不然，它会自动生成这个项，但值为空。这个空值也会发送到浏览器端的。所以不要这</p>
<p>样使用。</p>
<p><br />有Global.asax：<br />如果有这个文件，浏览端都会生成ASP.NET_SessionId为键的Cookie。因为在Session_Start等方法，与Session的事件关联起来了。<br />有Global.asax后，同一个浏览器端生成SessionID每次相同。</p>
<p>Session按URL封关<br />URL封送会在上面的任何状态下存在的。</p> <img src="http://www.cnblogs.com/axzxs2001/aggbug/1618998.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/12/07/1618998.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/12/07/1618998.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>用自定义代码分析来标准开发人员的开发规范</title><link>http://www.cnblogs.com/axzxs2001/archive/2009/11/27/1612112.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Fri, 27 Nov 2009 08:00:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2009/11/27/1612112.html</guid><description><![CDATA[<p>阅读: 1346 评论: 12 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2009-11-27 16:00 <a href="http://www.cnblogs.com/axzxs2001/archive/2009/11/27/1612112.html" target="_blank">原文链接</a></p><p><strong><span style="font-family: 宋体">代码分析</span></strong>(<span style="font-family: 宋体">关于代码分析详见</span>http://msdn.microsoft.com/zh-cn/library/3z0aeatx(VS.80).aspx)<span style="font-family: 宋体">，是</span>visual studio<span style="font-family: 宋体">开发工具中提供的一种规范代码的工具，系统提供了</span>200<span style="font-family: 宋体">多条规则，从命名习惯，安全性，属性使用等方面来对我们编写的代码进行分析，然后以默认警告的形式在&#8220;错误列表&#8221;窗口中提示我们书写的代码是否符合规范，并提示出为什么。当然这种规范是</span>MS<span style="font-family: 宋体">给的一种通用的规范，不一定适合所有的公司。</span></p>
<p><span style="font-family: 宋体">下图是</span>Visual Studio<span style="font-family: 宋体">提供的代代码分析的</span>11<span style="font-family: 宋体">种规范。</span></p><span style="font-family: 宋体">
<p align="center"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/CodeAnalysis01.jpg" width="558" height="380" /></p>
<p align="center">(图-1)</p>
<p align="left">&nbsp;</p>
<p><strong><span style="font-family: 宋体">开发规范</span></strong><span style="font-family: 宋体">是每软件开发公司都有的，可有每个公司在开发方面都积累了适合自己的一套规范，有的可能是通用的，有的可能是根据实际情况适合自己的。比如，公司要求所有的方法的第一个字符必须是大写，字段不能定义成公有，可能对其他公司来说这些规范不适合，但对于本公司来说，就是一种规范，是一种要求。（这里是举个例子，不是实际存在的公司规范）</span></p>
<p><span style="font-family: 宋体">公司的开发规范是这样要求的，但对于一些新手，或一些其他公司跳过来的程序员，能很快习惯吗？当然，通过开会，指正，再开会，再指正，开发人员的习惯会形成，但又没有更好的办法呢？用一种量化的约定来让开发人员尽快适应本公司的开发规范呢？答案是肯定的。就用自定义代码分析来规范我们的开发人员。</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">自定义代码分析，就是让</span>Visual Studio<span style="font-family: 宋体">中的代码分析模块按照自定义的分析方式去分析公司程序写的代码，然后给出相应的</span>Warnning<span style="font-family: 宋体">（也可以是</span>Error<span style="font-family: 宋体">，根据设定来分类），就像每个方法的首字母都得是大写，如果是小写或非字母的话，就在错误列表中给出该方法一个</span>Warnning<span style="font-family: 宋体">（或</span>Error<span style="font-family: 宋体">）。</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">有了前面的背景，就进入正式的主题。</span></p>
<p><span style="font-family: 宋体">代码分析，本质就是把开发人员写的代码拿出来，看看那些不符合公司规范，然后把不符合的提示出来，让开发人员改。大家都知道</span>refection<span style="font-family: 宋体">，可以很好的把别人的代码检索出来。但有更好的一个技术，</span>introspection<span style="font-family: 宋体">，与</span>refection<span style="font-family: 宋体">功能一样，但它比</span>refection<span style="font-family: 宋体">更快，并且支持多线程，分析开发人员程序集时还不独占。看来很不错。我们只知道这么多就行了，因为我们不直接用</span>introspection<span style="font-family: 宋体">来做自定义代码分析，我们用</span>BaseIntrospectionRule<span style="font-family: 宋体">这个封装了</span>introspection<span style="font-family: 宋体">的基类来做代码分析，这样以来，会提升咱们的开发速度。</span>BaseIntrospectionRule<span style="font-family: 宋体">的类层次结构为：父类是</span>StandardVisitor<span style="font-family: 宋体">，再向上是</span>Visitor<span style="font-family: 宋体">（一个抽象类），再上就是</span>Object<span style="font-family: 宋体">了。</span></p>
<p>(<span style="font-family: 宋体">以下我使用的是</span>visual studio 2008)</p>
<p><span style="font-family: 宋体">首先创建一个</span>CustomCodeAnalysisRules<span style="font-family: 宋体">的解决方案，在这个解决方案下创建一个</span>NameRuleCodeAnalysisRules<span style="font-family: 宋体">类库项目。然后给这个项目添加引用，因为</span>BaseIntrospectionRule<span style="font-family: 宋体">这个类以及后面用的到的一些类都在将要引用的程程集下面。选中项目的&#8220;引用&#8221;右键&#8220;添加引用&#8221;，找到</span>visual studio<span style="font-family: 宋体">的安装目录（有可能你在安装时修改了安装目录）&#8220;</span>D:\Program Files (x86)\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop<span style="font-family: 宋体">&#8221;（这是我的目录），引两个</span>dll<span style="font-family: 宋体">进来，一个是</span>FxCopSdk.dll<span style="font-family: 宋体">，另一个是</span>Microsoft.Cci.dll<span style="font-family: 宋体">。</span></p>
<p><span style="font-family: 宋体">接下来，我们要对前面提到的两个规则进行编程，&#8220;方法首字母大写&#8221;和&#8220;字段不能是公有&#8221;</span> </p>
<p align="left"><span style="font-family: 宋体; font-size: 10.5pt">在项目中添加一个类文件</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">NameRuleCodeAnalysisRules</span><span style="font-family: 宋体; font-size: 10.5pt">（为了方便，我们把方法验证和字段验证都放到一个类中）</span></p>
<p align="left"><span style="font-family: 宋体; font-size: 10.5pt">&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_collapse($(this))"><img style="display: none" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img class="code_img_opened" alt="" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" /><span class="cnblogs_code_collapse">代码</span> 
<div class="cnblogs_code_open">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;Microsoft.FxCop.Sdk;<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;NameRuleCodeAnalysisRules<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_78_2052_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_78_2052_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_78_2052_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_78_2052_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_78_2052_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_78_2052_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_78_2052_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_78_2052_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_78_2052_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_78_2052_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_84_131_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_84_131_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_84_131_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_84_131_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_84_131_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_84_131_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_84_131_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_84_131_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_84_131_Closed_Text">/**/</span><span id="Codehighlighter1_84_131_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;验证方法类<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">&nbsp;9</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ServiceSoftNameRuleMethod&nbsp;:&nbsp;BaseIntrospectionRule<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img id="Codehighlighter1_202_1023_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_202_1023_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_202_1023_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_202_1023_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_202_1023_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_202_1023_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_202_1023_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_202_1023_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_202_1023_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_202_1023_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ServiceSoftNameRuleMethod()<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="color: #0000ff">base</span><span style="color: #000000">(</span><span style="color: #800000">"</span><span style="color: #800000">ServiceSoftNameRuleMethod</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">NameRuleCodeAnalysisRules.Rules</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(ServiceSoftNameRuleMethod).Assembly)<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_382_385_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_382_385_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_382_385_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_382_385_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_382_385_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_382_385_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_382_385_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_382_385_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_382_385_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_382_385_Open_Text"><span style="color: #000000">{&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img id="Codehighlighter1_394_529_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_394_529_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_394_529_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_394_529_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_394_529_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_394_529_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_394_529_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_394_529_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_394_529_Closed_Text">/**/</span><span id="Codehighlighter1_394_529_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">15</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;验证方法首字母<br /></span><span style="color: #008080">16</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">17</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;param&nbsp;name="member"&gt;</span><span style="color: #008000">类型成员</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">18</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;returns&gt;&lt;/returns&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">19</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;ProblemCollection&nbsp;Check(Member&nbsp;member)<br /></span><span style="color: #008080">20</span><span style="color: #000000"><img id="Codehighlighter1_600_1017_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_600_1017_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_600_1017_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_600_1017_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_600_1017_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_600_1017_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_600_1017_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_600_1017_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_600_1017_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_600_1017_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;method&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;member&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;Method;<br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(method&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br /></span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_692_736_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_692_736_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_692_736_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_692_736_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_692_736_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_692_736_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_692_736_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_692_736_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_692_736_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_692_736_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br /></span><span style="color: #008080">27</span><span style="color: #000000"><img id="Codehighlighter1_766_978_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_766_978_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_766_978_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_766_978_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_766_978_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_766_978_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_766_978_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_766_978_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_766_978_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_766_978_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">method.IsSpecialName&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">!</span><span style="color: #000000">Char.IsUpper(method.Name.Name,&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">))<br /></span><span style="color: #008080">29</span><span style="color: #000000"><img id="Codehighlighter1_865_964_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_865_964_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_865_964_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_865_964_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_865_964_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_865_964_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_865_964_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_865_964_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_865_964_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_865_964_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Problems.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Problem(GetResolution(member.Name.Name)));<br /></span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;Problems;<br /></span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">36</span><span style="color: #000000"><img id="Codehighlighter1_1028_1075_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1028_1075_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1028_1075_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1028_1075_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1028_1075_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1028_1075_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1028_1075_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1028_1075_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1028_1075_Closed_Text">/**/</span><span id="Codehighlighter1_1028_1075_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">37</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;验证字段类<br /></span><span style="color: #008080">38</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">39</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ServiceSoftNameRuleField&nbsp;:&nbsp;BaseIntrospectionRule<br /></span><span style="color: #008080">40</span><span style="color: #000000"><img id="Codehighlighter1_1145_2050_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1145_2050_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1145_2050_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1145_2050_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1145_2050_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1145_2050_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1145_2050_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1145_2050_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1145_2050_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_1145_2050_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br /></span><span style="color: #008080">41</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ServiceSoftNameRuleField()<br /></span><span style="color: #008080">42</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="color: #0000ff">base</span><span style="color: #000000">(</span><span style="color: #800000">"</span><span style="color: #800000">ServiceSoftNameRuleField</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">NameRuleCodeAnalysisRules.Rules</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(ServiceSoftNameRuleField).Assembly)<br /></span><span style="color: #008080">43</span><span style="color: #000000"><img id="Codehighlighter1_1324_1327_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1324_1327_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1324_1327_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1324_1327_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1324_1327_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1324_1327_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1324_1327_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1324_1327_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1324_1327_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_1324_1327_Open_Text"><span style="color: #000000">{&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">44</span><span style="color: #000000"><img id="Codehighlighter1_1336_1473_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1336_1473_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1336_1473_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1336_1473_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1336_1473_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1336_1473_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1336_1473_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1336_1473_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1336_1473_Closed_Text">/**/</span><span id="Codehighlighter1_1336_1473_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">45</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;验证字段访问修饰符<br /></span><span style="color: #008080">46</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">47</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;param&nbsp;name="member"&gt;</span><span style="color: #008000">类型成员</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">48</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;returns&gt;&lt;/returns&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">49</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;ProblemCollection&nbsp;Check(Member&nbsp;member)<br /></span><span style="color: #008080">50</span><span style="color: #000000"><img id="Codehighlighter1_1544_2044_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1544_2044_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1544_2044_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1544_2044_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1544_2044_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1544_2044_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1544_2044_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1544_2044_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1544_2044_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_1544_2044_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">51</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(member.DeclaringType&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;EnumNode)<br /></span><span style="color: #008080">52</span><span style="color: #000000"><img id="Codehighlighter1_1621_1665_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1621_1665_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1621_1665_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1621_1665_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1621_1665_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1621_1665_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1621_1665_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1621_1665_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1621_1665_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_1621_1665_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">53</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">54</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">55</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field&nbsp;field&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;member&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;Field;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">56</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(field&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br /></span><span style="color: #008080">57</span><span style="color: #000000"><img id="Codehighlighter1_1760_1804_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1760_1804_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1760_1804_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1760_1804_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1760_1804_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1760_1804_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1760_1804_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1760_1804_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1760_1804_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_1760_1804_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">58</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">59</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">60</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br /></span><span style="color: #008080">61</span><span style="color: #000000"><img id="Codehighlighter1_1834_2034_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1834_2034_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1834_2034_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1834_2034_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1834_2034_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1834_2034_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1834_2034_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1834_2034_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1834_2034_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_1834_2034_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">62</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(field.IsPublic)<br /></span><span style="color: #008080">63</span><span style="color: #000000"><img id="Codehighlighter1_1888_1987_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1888_1987_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1888_1987_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1888_1987_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1888_1987_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1888_1987_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1888_1987_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1888_1987_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1888_1987_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_1888_1987_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">64</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Problems.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Problem(GetResolution(member.Name.Name)));<br /></span><span style="color: #008080">65</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">66</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;Problems;<br /></span><span style="color: #008080">67</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">68</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">69</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">70</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">71</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></div></div></div>
<p align="left">&nbsp;</p>
<p><span style="font-family: 宋体">其实</span>check<span style="font-family: 宋体">方法有多种重载，这里因为我们验证的方法和字段，都是类型成员所以只重写</span>check(Member member)<span style="font-family: 宋体">这种方法就可以了。在方法体中，如果类型成员不满足要求，</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">就以它名字为</span>Problem<span style="font-family: 宋体">构造参数的对象，添加到</span>Problems<span style="font-family: 宋体">中，最终，这个</span>Problem<span style="font-family: 宋体">对象的相应信息，会在错误列表中显示出来。这里要注意，</span>member.Name.Name<span style="font-family: 宋体">，也就是类型成员的名字。</span></p>
<p>C#<span style="font-family: 宋体">代写完成，要写一个每个规范类对应的</span>Rules.xml</p>
<p align="left">&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_collapse($(this))"><img style="display: none" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img class="code_img_opened" alt="" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" /><span class="cnblogs_code_collapse">代码</span> 
<div class="cnblogs_code_open">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="utf-8"&nbsp;</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Rules&nbsp;</span><span style="color: #ff0000">FriendlyName</span><span style="color: #0000ff">="ServiceSoft公司命名规范"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Rule&nbsp;</span><span style="color: #ff0000">TypeName</span><span style="color: #0000ff">="ServiceSoftNameRuleMethod"</span><span style="color: #ff0000">&nbsp;Category</span><span style="color: #0000ff">="ServiceSoft.NameRule"</span><span style="color: #ff0000">&nbsp;CheckId</span><span style="color: #0000ff">="SS0001"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">方法名规则</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Description</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">方法名必须首字母大写，如果首字符小写将提示警告。</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Description</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Url</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Resolution</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">方法&nbsp;&#8220;{0}&nbsp;&#8221;的首字母应为大写</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Resolution</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">MessageLevel&nbsp;</span><span style="color: #ff0000">Certainty</span><span style="color: #0000ff">="99"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Error</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">MessageLevel</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Email</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">axzxs2001@163.com</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Email</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">FixCategories</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">NonBreaking,&nbsp;DependsOnFix</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">FixCategories</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Owner</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">ServiceSoft</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Owner</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Rule</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Rule&nbsp;</span><span style="color: #ff0000">TypeName</span><span style="color: #0000ff">="ServiceSoftNameRuleField"</span><span style="color: #ff0000">&nbsp;Category</span><span style="color: #0000ff">="ServiceSoft.NameRule"</span><span style="color: #ff0000">&nbsp;CheckId</span><span style="color: #0000ff">="SS0002"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">字段名规则</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Description</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">字段的访问修饰符不能是公有的。</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Description</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Url</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Resolution</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">字段&nbsp;&#8220;{0}&nbsp;&#8221;的访问修饰符是public</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Resolution</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">MessageLevel&nbsp;</span><span style="color: #ff0000">Certainty</span><span style="color: #0000ff">="99"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Error</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">MessageLevel</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Email</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">axzxs2001@163.com</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Email</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">FixCategories</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">NonBreaking,&nbsp;DependsOnFix</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">FixCategories</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Owner</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">ServiceSoft</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Owner</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Rule</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Rules</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></div></div></div>
<p align="left">&nbsp;</p>
<p><span style="font-family: 宋体">每个类对应一个</span>&lt;Rule&gt;<span style="font-family: 宋体">标记。最外面是</span>&lt;Rules&gt;<span style="font-family: 宋体">标记，这里要注意这个标记的</span>FriendlyName<span style="font-family: 宋体">这个属性值，最终会在图</span>-1<span style="font-family: 宋体">中的规则中显示出来。</span></p>
<p><span style="font-family: 宋体">在</span>&lt;Rule&gt;<span style="font-family: 宋体">中有如下子标记，</span>&lt;Name&gt;<span style="font-family: 宋体">名称，</span>&lt;Description&gt;<span style="font-family: 宋体">描述，</span>&lt;Url&gt;<span style="font-family: 宋体">链接，</span>&lt;Resolution&gt;<span style="font-family: 宋体">解决方案，这个标记会最终在错误列显示出来，所以对这个标记的内容要描述清楚，并且在这个标记的内容中有｛</span>0<span style="font-family: 宋体">｝这样的占位符，这是为前面方法中的</span>member.Name.Name<span style="font-family: 宋体">所占的。</span>&lt;MessageLevel&gt;<span style="font-family: 宋体">信息级别，</span>Categories<span style="font-family: 宋体">为</span>0<span style="font-family: 宋体">～</span>99<span style="font-family: 宋体">范围的值，内容为</span><span style="font-family: 新宋体; font-size: 9pt">&nbsp;MessageLevel</span><span style="font-family: 新宋体; font-size: 9pt">枚举的值，&lt;Email&gt;邮箱，</span>&lt;FixCategories&gt;<span style="font-family: 宋体">更正规则的方式，内容为</span>FixCategories<span style="font-family: 宋体">枚举的值，</span>&lt;Owner&gt;<span style="font-family: 宋体">所有者。</span></p>
<p><span style="font-family: 宋体">现在主可以生成类库集了，现在需要把</span>Rules.xml<span style="font-family: 宋体">一起生成到程序集的</span>dll<span style="font-family: 宋体">中，选中</span>Rules<span style="font-family: 宋体">右键&#8220;属性&#8221;，在属性的窗体中选中&#8220;生成操作&#8221;，下拉改成&#8220;嵌入的资源&#8221;，最终就会把这个</span>Rules.xml<span style="font-family: 宋体">打包到</span>dll<span style="font-family: 宋体">的元数据中。</span></p>
<p><span style="font-family: 宋体">再返回头来看一下规则类和</span>xml<span style="font-family: 宋体">，它们的关联是通过在规则类的构造函数中的第二个参数</span>NameRuleCodeAnalysisRules.Rules<span style="font-family: 宋体">，</span>namesapce+xml<span style="font-family: 宋体">名和</span>xml<span style="font-family: 宋体">的</span>&lt;Rule&gt;<span style="font-family: 宋体">的</span>Typ eName<span style="font-family: 宋体">属性为规则类名关联起来的。</span></p>
<p><span style="font-family: 宋体">复制上</span>NameRuleCodeAnalysisRules.dll<span style="font-family: 宋体">，到</span>visual studio<span style="font-family: 宋体">的安装目录</span>D:\Program Files (x86)\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop\Rules<span style="font-family: 宋体">下，这个目录下放的全是代码分析的规则类。</span></p>
<p><span style="font-family: 宋体">到此，为我们的开发规范自定义代码分析就做完了，好用吗？</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">新建一个控制台应用程序，名称自已决定</span></p>
<p align="left"><span style="font-family: 宋体; font-size: 10.5pt">代码如下：</span></p>
<p align="left">&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_collapse($(this))"><img style="display: none" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img class="code_img_opened" alt="" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" /><span class="cnblogs_code_collapse">代码</span> 
<div class="cnblogs_code_open">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;ConsoleApplication1<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_45_463_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_45_463_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_45_463_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_45_463_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_45_463_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_45_463_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_45_463_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_45_463_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_45_463_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_45_463_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Program<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_69_303_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_69_303_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_69_303_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_69_303_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_69_303_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_69_303_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_69_303_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_69_303_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_69_303_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_69_303_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">10</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Main(</span><span style="color: #0000ff">string</span><span style="color: #000000">[]&nbsp;args)<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img id="Codehighlighter1_150_161_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_150_161_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_150_161_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_150_161_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_150_161_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_150_161_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_150_161_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_150_161_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_150_161_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_150_161_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;ff()<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_195_206_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_195_206_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_195_206_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_195_206_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_195_206_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_195_206_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_195_206_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_195_206_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_195_206_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_195_206_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;_gsw()<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_242_253_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_242_253_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_242_253_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_242_253_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_242_253_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_242_253_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_242_253_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_242_253_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_242_253_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_242_253_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;Sx<br /></span><span style="color: #008080">18</span><span style="color: #000000"><img id="Codehighlighter1_284_297_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_284_297_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_284_297_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_284_297_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_284_297_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_284_297_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_284_297_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_284_297_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_284_297_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_284_297_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;abc<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img id="Codehighlighter1_322_392_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_322_392_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_322_392_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_322_392_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_322_392_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_322_392_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_322_392_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_322_392_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_322_392_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_322_392_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;k</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">12</span><span style="color: #800000">"</span><span style="color: #000000">;<br /></span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;abc()<br /></span><span style="color: #008080">24</span><span style="color: #000000"><img id="Codehighlighter1_383_386_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_383_386_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_383_386_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_383_386_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_383_386_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_383_386_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_383_386_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_383_386_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_383_386_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_383_386_Open_Text"><span style="color: #000000">{&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">abstract</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;bcd<br /></span><span style="color: #008080">27</span><span style="color: #000000"><img id="Codehighlighter1_420_461_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_420_461_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_420_461_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_420_461_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_420_461_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_420_461_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_420_461_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_420_461_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_420_461_Closed_Text"><img alt="" src="http://images.cnblogs.com/dot.gif" /></span><span id="Codehighlighter1_420_461_Open_Text"><span style="color: #000000">{&nbsp;<br /></span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">abstract</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;ffs();<br /></span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></div></div></div>
<p align="left">&nbsp;</p>
<p style="text-align: left; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" class="MsoNormal" align="left"><span style="font-family: 新宋体; font-size: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">然后打开代码分析，如下图：</span></p>
<p align="center"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/CodeAnalysis02.jpg" width="579" height="452" /></p>
<p align="center">(图-2)</p>
<p align="left">&nbsp;</p>
<p><span style="font-family: 宋体">这时，就能看到我们自定议的规则&#8220;</span>ServiceSoft<span style="font-family: 宋体">公司命名规范&#8221;（这里的名称就是</span>Rules.xml<span style="font-family: 宋体">中的</span>FriendlyName<span style="font-family: 宋体">属性的值），为了测试明显，可以先把其他的规则关闭。生成如下图</span></p>
<p align="left">
<div align="center">
<div align="center">
<div align="center"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/CodeAnalysis03.jpg" width="748" height="190" /></div></div></div>
<p>&nbsp;</p>
<p align="center">(图-3)</p>
<p align="left">&nbsp;</p>
<p><span style="font-family: 宋体">说明中就会把我们自定议的规则以警告的形式提示出来。</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">有几个问题：</span></p>
<p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"><span>1、&nbsp;</span><span style="font-family: 宋体">当第一次代码分析时往往不进行，当源代码有一点改动，代码分析才起作用，我估计系统检测出源代码文件有变动，才去分析，这里应该用一点问题。</span></p>
<p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"><span>2、&nbsp;</span><span style="font-family: 宋体">还有所有的代码分析警告都不显示第几列。</span></p>
<p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"><span style="font-family: 宋体"></span>&nbsp;</p>
<p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"><span style="font-family: 宋体">源码下载：</span></p>
<p align="left">&nbsp;<a href="http://files.cnblogs.com/axzxs2001/用自定义代码分析来标准开发人员的开发规范-源代码.rar" target="_blank">用自定义代码分析来标准开发人员的开发规范-源代码.rar</a></p></span></span><img src="http://www.cnblogs.com/axzxs2001/aggbug/1612112.html?type=1" width="1" height="1" alt=""/><p>评论: 12　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/11/27/1612112.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/11/27/1612112.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>TechEd2009</title><link>http://www.cnblogs.com/axzxs2001/archive/2009/11/11/1601422.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Wed, 11 Nov 2009 15:55:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2009/11/11/1601422.html</guid><description><![CDATA[<p>阅读: 100 评论: 1 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2009-11-11 23:55 <a href="http://www.cnblogs.com/axzxs2001/archive/2009/11/11/1601422.html" target="_blank">原文链接</a></p><p>TechEd<span style="font-family: 宋体">很快就结束了，还在加味中。</span></p>
<p><span style="font-family: 宋体">本次</span>TechEd<span style="font-family: 宋体">有很多人，据说现场有</span>5000<span style="font-family: 宋体">人左右，现场是很宏伟</span></p>
<p align="center"></p>
<p align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TechEd2009_1.JPG" width="448" height="336" /></span></p>
<p align="center"><span style="font-family: 宋体">（会场一角）</span></p>
<p><span style="font-family: 宋体">这次大会，主要谈及的课程为</span>Exchange2010,SharePoint2010,Windows7,Windows server2008R2<span style="font-family: 宋体">及</span>vs2010<span style="font-family: 宋体">的一些东西，我听了一些关于</span>SharePoint2010<span style="font-family: 宋体">和</span>vs2010<span style="font-family: 宋体">的东西，有些是第一次听到，总体还是有收获的，现在就是自己时间有限，不能全面把握呀。</span></p>
<p><span style="font-family: 宋体">这次大会，展台也比较多，一楼，三楼，都摆的挺满，各展台可以说是费尽脑汁，来做自己产品的宣传，有的展台请来了天使，有的主来了相声演员，有的还有大抽奖，从不同角度来吸引参会者的眼球。</span></p>
<p align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TechEd2009_4.JPG" width="448" height="336" /></span></p>
<p align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TechEd2009_3.JPG" width="448" height="336" /></span></p>
<p align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TechEd2009_4.JPG" width="448" height="336" /></span></p>
<p align="center"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TechEd2009_5.JPG" width="448" height="336" /></span></p>
<p align="center"><span style="font-family: 宋体"></span>&nbsp;</p>
<p><span style="font-family: 宋体"></span>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">同时，本次我也参与了社区的讲课，和大家分享了《</span>.net<span style="font-family: 宋体">平台下</span>Windows7 TaskBar<span style="font-family: 宋体">的开发》</span></p>
<p align="center"><span style="font-family: 宋体"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TechEd2009_6.JPG" /></span></span></p>
<p align="center"><span style="font-family: 宋体"><span style="font-family: 宋体"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/TechEd2009_7.JPG" /></span></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">同时也见到了很多</span>MVP<span style="font-family: 宋体">，大家畅谈了最的的生活和工作。</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p> <img src="http://www.cnblogs.com/axzxs2001/aggbug/1601422.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/11/11/1601422.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/11/11/1601422.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>JumpList中Recent类别和自定义类型</title><link>http://www.cnblogs.com/axzxs2001/archive/2009/10/29/1592056.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Thu, 29 Oct 2009 04:06:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2009/10/29/1592056.html</guid><description><![CDATA[<p>阅读: 892 评论: 0 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2009-10-29 12:06 <a href="http://www.cnblogs.com/axzxs2001/archive/2009/10/29/1592056.html" target="_blank">原文链接</a></p><p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">在我们使用</span><span style="font-size: 12pt">windows</span><span style="font-family: 宋体; font-size: 12pt">系统时，我们常看到系统有很多类型，比如</span><span style="font-size: 12pt">word</span><span style="font-family: 宋体; font-size: 12pt">的文档类型，它是以</span><span style="font-size: 12pt">doc</span><span style="font-family: 宋体; font-size: 12pt">扩展名标识的，还有</span><span style="font-size: 12pt">pdf</span><span style="font-family: 宋体; font-size: 12pt">，</span><span style="font-size: 12pt">html</span><span style="font-family: 宋体; font-size: 12pt">，</span><span style="font-size: 12pt">aspx</span><span style="font-family: 宋体; font-size: 12pt">等等，一但我们安装某些程序，相应类型程序的文档就可以打开进行编辑了。今天，我们也创建自己的一个类型，并结合</span><span style="font-size: 12pt">JumpList</span><span style="font-family: 宋体; font-size: 12pt">的</span><span style="font-size: 12pt">Recent</span><span style="font-family: 宋体; font-size: 12pt">来开发我们的应用。</span><span style="font-size: 12pt"></span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">如何让</span><span style="font-size: 12pt">windows</span><span style="font-family: 宋体; font-size: 12pt">系统认识自己的类型，其实就是把我们的类型注册到注册表里的</span><span style="font-size: 12pt">HKEY_CLASSES_ROOT</span><span style="font-family: 宋体; font-size: 12pt">下，具体注册信息，详看下面代码。</span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">代码如下：</span></p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #008000">//</span><span style="color: #008000">注册应用程序文件和图标</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #000000">RegistryKey&nbsp;classesRoot&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Registry.ClassesRoot;<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;RegisterProgId(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;progId,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;appId,<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;openWith,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;IcoPath)<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_181_965_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_181_965_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_181_965_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_181_965_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_181_965_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_181_965_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_181_965_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_181_965_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_181_965_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_181_965_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey&nbsp;progIdKey&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;classesRoot.CreateSubKey(progId);<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">FriendlyTypeName</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">@shell32.dll,-8975</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">DefaultIcon</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">@shell32.dll,-47</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">CurVer</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;progId);<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">AppUserModelID</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;appId);<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey&nbsp;shell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;progIdKey.CreateSubKey(</span><span style="color: #800000">"</span><span style="color: #800000">shell</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.SetValue(String.Empty,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Open</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;shell.CreateSubKey(</span><span style="color: #800000">"</span><span style="color: #800000">Open</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;shell.CreateSubKey(</span><span style="color: #800000">"</span><span style="color: #800000">Command</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.SetValue(String.Empty,&nbsp;openWith);<br /></span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey&nbsp;iconKey&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;progIdKey.CreateSubKey(</span><span style="color: #800000">"</span><span style="color: #800000">DefaultIcon</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iconKey.SetValue(</span><span style="color: #800000">""</span><span style="color: #000000">,&nbsp;IcoPath);<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.Close();<br /></span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.Close();<br /></span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">注册类型</span><span style="color: #008000"><br /></span><span style="color: #008080">26</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;RegisterFileAssociation(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;progId,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;extension)<br /></span><span style="color: #008080">27</span><span style="color: #000000"><img id="Codehighlighter1_1064_1289_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1064_1289_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1064_1289_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1064_1289_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1064_1289_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1064_1289_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1064_1289_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1064_1289_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1064_1289_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1064_1289_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey&nbsp;openWithKey&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;classesRoot.CreateSubKey(<br /></span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Path.Combine(extension,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">OpenWithProgIds</span><span style="color: #800000">"</span><span style="color: #000000">));<br /></span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openWithKey.SetValue(progId,&nbsp;String.Empty);<br /></span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openWithKey.Close();<br /></span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></div>
<p>&nbsp;</p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">在这个方法中，后两个参数是比较重要的，</span><span style="font-size: 12pt">openWith</span><span style="font-family: 宋体; font-size: 12pt">参数应用程序所以在路径和附加参数，</span><span style="font-size: 12pt">IcoPath</span><span style="font-family: 宋体; font-size: 12pt">是应用程对应的图标。通过这一步，我们就能把自己的类型注册到系统中，具体的类型依照</span><span style="font-size: 12pt">extension</span><span style="font-family: 宋体; font-size: 12pt">参数来提供。</span><span style="font-size: 12pt"></span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">这样，如果在系统下建立一个</span><span style="font-size: 12pt">extension</span><span style="font-family: 宋体; font-size: 12pt">实参为类型的文件时，我们看到的将是以对应图标替换的文件，双击，调用的是我们刚才注册的应用程序。</span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">比如，我们现在注册的是</span><span style="font-size: 12pt">diar</span><span style="font-family: 宋体; font-size: 12pt">，在系统下，所有以</span><span style="font-size: 12pt">diar</span><span style="font-family: 宋体; font-size: 12pt">为扩展名的文件，都成为可执行文件了。</span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">但怎么通过双击把文件的内容加载到应用程序中呢？</span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">代码如下，在应用程序的加载时执行：</span></p>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #0000ff">string</span><span style="color: #000000">[]&nbsp;parameters&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Environment.GetCommandLineArgs();<br /></span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(parameters.Length&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)<br /></span><span style="color: #008080">3</span><span style="color: #000000"><img id="Codehighlighter1_83_165_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_83_165_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_83_165_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_83_165_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_83_165_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_83_165_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_83_165_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_83_165_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_83_165_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_83_165_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;filePath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;parameters[</span><span style="color: #800080">1</span><span style="color: #000000">];<br /></span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">filePath传过来的就是双击的文件的路径，这样我们就可以通过IO来操作这个文件了</span><span style="color: #008000"><br /></span><span style="color: #008080">6</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" /></span><span style="color: #000000">}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></div>
<p>&nbsp;</p>
<p style="text-align: left; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0; mso-layout-grid-align: none" class="MsoNormal" align="left"><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">其实上面这些知识不是</span><span style="font-size: 12pt" lang="EN-US"><font face="Calibri">Windows7 JumpList</font></span><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">所特有的，怎么和</span><span style="font-size: 12pt" lang="EN-US"><font face="Calibri">JumpList</font></span><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中的知识关联呢？</span><span style="font-size: 12pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0; mso-layout-grid-align: none" class="MsoNormal" align="left"><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在</span><span style="font-size: 12pt" lang="EN-US"><font face="Calibri">JumpList</font></span><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中，有一个</span><span style="font-size: 12pt" lang="EN-US"><font face="Calibri">Recent</font></span><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">类别，就是最近打开的文件。其实系统有一个</span><span style="font-size: 12pt" lang="EN-US"><font face="Calibri">RecentList</font></span><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，会保存最近打开的文档，这个列表只有在两种情况下向其中添加子项，第一种就是上面我们在注册完类型后，双击文档时会添加到</span><span style="font-size: 12pt" lang="EN-US"><font face="Calibri">RecentList</font></span><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中。另一种情部下面说明。</span><span style="font-size: 12pt" lang="EN-US"><o:p></o:p></span></p>
<p><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">看下面代码：</span></p>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;OpenDiaryFile()<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_37_817_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_37_817_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_37_817_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_37_817_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_37_817_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_37_817_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_37_817_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_37_817_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_37_817_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_37_817_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CommonOpenFileDialog&nbsp;dialog&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CommonOpenFileDialog();<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dialog.Title&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Select&nbsp;a&nbsp;diary&nbsp;document</span><span style="color: #800000">"</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dialog.Filters.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CommonFileDialogFilter(</span><span style="color: #800000">"</span><span style="color: #800000">Text&nbsp;files&nbsp;(*.diar)</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">*.diar</span><span style="color: #800000">"</span><span style="color: #000000">));<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CommonFileDialogResult&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;dialog.ShowDialog();<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(result&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;CommonFileDialogResult.OK)<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_386_816_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_386_816_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_386_816_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_386_816_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_386_816_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_386_816_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_386_816_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_386_816_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_386_816_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_386_816_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filePath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;dialog.FileName;<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Content_TB.Text&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;File.ReadAllText(dialog.FileName,&nbsp;Encoding.Default);<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.AddToRecent(dialog.FileName);<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.KnownCategoryToDisplay&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JumpListKnownCategoryType.Recent;</span><span style="color: #008000">//</span><span style="color: #008000">最近&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;jumplist.KnownCategoryToDisplay&nbsp;=&nbsp;JumpListKnownCategoryType.Frequent&nbsp;;</span><span style="color: #008000">//</span><span style="color: #008000">常用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #008080">13</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.Refresh();<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"></span></span><br /><span style="color: #008080">15</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></div>
<p>&nbsp;</p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">这段代码不难理解，就是用一个定义好的</span><span style="font-size: 12pt">CommonOpenFileDialog</span><span style="font-family: 宋体; font-size: 12pt">对话框来打开一个文件。这里的</span><span style="font-size: 12pt">CommonOpenFileDialog</span><span style="font-family: 宋体; font-size: 12pt">是</span><span style="font-size: 12pt"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=1C333F06-FADB-4D93-9C80-402621C600E7&amp;displaylang=en" target="_blank"><span style="font-size: 12pt">Windows 7 Training Kit For Developers</span></a></span><span style="font-family: 宋体; font-size: 12pt">的一个类，必需调用这个类，我们才能用</span><span style="font-size: 12pt">jumplist.AddToRecent(dialog.FileName)</span><span style="font-family: 宋体; font-size: 12pt">把最近文件添加到</span><span style="font-size: 12pt">RecentList</span><span style="font-family: 宋体; font-size: 12pt">中。</span><span style="font-size: 12pt"></span></p>
<p>&nbsp;</p><img src="http://www.cnblogs.com/axzxs2001/aggbug/1592056.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/10/29/1592056.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/10/29/1592056.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Windos7下JumpList的实现</title><link>http://www.cnblogs.com/axzxs2001/archive/2009/10/20/1586955.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Tue, 20 Oct 2009 07:32:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2009/10/20/1586955.html</guid><description><![CDATA[<p>阅读: 370 评论: 1 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2009-10-20 15:32 <a href="http://www.cnblogs.com/axzxs2001/archive/2009/10/20/1586955.html" target="_blank">原文链接</a></p><p style="text-indent: 24pt"><span style="font-size: 12pt">Windows7</span><span style="font-family: 宋体; font-size: 12pt">就要发布了，近期，就要和</span><span style="font-size: 12pt">MS</span><span style="font-family: 宋体; font-size: 12pt">组织一次社区</span><span style="font-size: 12pt">Win7</span><span style="font-family: 宋体; font-size: 12pt">发布活动，正好这次也讲</span><span style="font-size: 12pt">Win7</span><span style="font-family: 宋体; font-size: 12pt">的</span><span style="font-size: 12pt">TaskBar</span><span style="font-family: 宋体; font-size: 12pt">开发，所以就把要讲的东西组织成</span><span style="font-size: 12pt">Blog</span><span style="font-family: 宋体; font-size: 12pt">，分享给出来，以供参考。</span><span style="font-size: 12pt"></span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">对于</span><span style="font-size: 12pt">Windows7 TaskBar</span><span style="font-family: 宋体; font-size: 12pt">的开发功能是基于</span><span style="font-size: 12pt">COM</span><span style="font-family: 宋体; font-size: 12pt">组件来实现的，这些组织提供了操作</span><span style="font-size: 12pt">Windos7</span><span style="font-family: 宋体; font-size: 12pt">特性的一些功能。开发人员只要对</span><span style="font-size: 12pt">COM</span><span style="font-family: 宋体; font-size: 12pt">操作就可以，但更为幸福的是，微软已经开发出一些</span><span style="font-size: 12pt">kit</span><span style="font-family: 宋体; font-size: 12pt">，我们直接用这些</span><span style="font-size: 12pt">kit</span><span style="font-family: 宋体; font-size: 12pt">，就可以用</span><span style="font-size: 12pt">C#</span><span style="font-family: 宋体; font-size: 12pt">对</span><span style="font-size: 12pt">Windos7</span><span style="font-family: 宋体; font-size: 12pt">的新功能进行编程了。</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">对于这个</span><span style="font-size: 12pt">kit</span><span style="font-family: 宋体; font-size: 12pt">，可以从</span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=1C333F06-FADB-4D93-9C80-402621C600E7&amp;displaylang=en" target="_blank"><span style="color: windowtext; font-size: 10.5pt; text-decoration: none; text-underline: none">http://www.microsoft.com/downloads/details.aspx?familyid=1C333F06-FADB-4D93-9C80-402621C600E7&amp;displaylang=en</span></a></span><span style="font-family: 宋体; font-size: 12pt">下载获得。</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">其中的</span><span style="font-size: 12pt">WindowsAPICodePack</span><span style="font-family: 宋体; font-size: 12pt">和</span><span style="font-size: 12pt">RegistrationHelper</span><span style="font-family: 宋体; font-size: 12pt">是封装</span><span style="font-size: 12pt">TaskBar</span><span style="font-family: 宋体; font-size: 12pt">操作的项目，我们直接用他们的</span><span style="font-size: 12pt">dll</span><span style="font-family: 宋体; font-size: 12pt">或</span><span style="font-size: 12pt">exe</span><span style="font-family: 宋体; font-size: 12pt">就可以。</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">在做</span><span style="font-size: 12pt">JumpList</span><span style="font-family: 宋体; font-size: 12pt">时，我们用到</span><span style="font-size: 12pt">Microsoft.WindowsAPICodePack.dll</span><span style="font-family: 宋体; font-size: 12pt">，</span><span style="font-size: 12pt">Microsoft.WindowsAPICodePack.Shell.dll</span><span style="font-family: 宋体; font-size: 12pt">和</span><span style="font-size: 12pt">Windows7.DesktopIntegration.Registration.exe</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">当新建一个</span><span style="font-size: 12pt">WPF</span><span style="font-family: 宋体; font-size: 12pt">应用程序时，需要在引用中添加这三个可执行文件。</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">在对任务栏编和前，先来认识一下</span><span style="font-size: 12pt">ApplicationID</span><span style="font-family: 宋体; font-size: 12pt">，在</span><span style="font-size: 12pt">Win7</span><span style="font-family: 宋体; font-size: 12pt">中，</span><span style="font-size: 12pt">ApplicationID</span><span style="font-family: 宋体; font-size: 12pt">不是窗口的唯一标识，也不是它的</span><span style="font-size: 12pt">GUID</span><span style="font-family: 宋体; font-size: 12pt">，</span><span style="font-size: 12pt">ApplicationID</span><span style="font-family: 宋体; font-size: 12pt">只是一串用来标识窗体的字符串。它最大长度为</span><span style="font-size: 12pt">128</span><span style="font-family: 宋体; font-size: 12pt">个字符，我们来命名</span><span style="font-size: 12pt">ApplicationID</span><span style="font-family: 宋体; font-size: 12pt">时，遵循的约定为&#8220;</span><span style="font-size: 12pt">Company.Product.SubProduct.Version</span><span style="font-family: 宋体; font-size: 12pt">&#8221;。这个</span><span style="font-size: 12pt">ApplicationID</span><span style="font-family: 宋体; font-size: 12pt">可以和进程，程序的快捷方式，窗体，</span><span style="font-size: 12pt">JumpList</span><span style="font-family: 宋体; font-size: 12pt">，文档注册类型等关联起来。</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">在用</span><span style="font-size: 12pt">ApplicationID</span><span style="font-family: 宋体; font-size: 12pt">以前，必需先注册它，本质上这个注册是对注册表的操作。</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">具体代如下：</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;RegistryKey&nbsp;classesRoot;<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;RegisterProgId(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;progId,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;appId,<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;openWith)<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_141_794_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_141_794_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_141_794_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_141_794_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_141_794_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_141_794_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_141_794_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_141_794_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_141_794_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_141_794_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey&nbsp;progIdKey&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;classesRoot.CreateSubKey(progId);<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">FriendlyTypeName</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">@shell32.dll,-8975</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">DefaultIcon</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">@shell32.dll,-47</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">CurVer</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;progId);<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.SetValue(</span><span style="color: #800000">"</span><span style="color: #800000">AppUserModelID</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;appId);<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey&nbsp;shell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;progIdKey.CreateSubKey(</span><span style="color: #800000">"</span><span style="color: #800000">shell</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.SetValue(String.Empty,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Open</span><span style="color: #800000">"</span><span style="color: #000000">);</span><span style="color: #0000ff">decimal</span><span style="color: #000000">&nbsp;<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;shell.CreateSubKey(</span><span style="color: #800000">"</span><span style="color: #800000">Open</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;shell.CreateSubKey(</span><span style="color: #800000">"</span><span style="color: #800000">Command</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.SetValue(String.Empty,&nbsp;openWith);<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.Close();<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progIdKey.Close();<br /></span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p style="text-indent: 24pt">&nbsp;</p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">关于</span><span style="font-size: 12pt">Win7</span><span style="font-family: 宋体; font-size: 12pt">的</span><span style="font-size: 12pt">TaskBar</span><span style="font-family: 宋体; font-size: 12pt">有几种效果，下面分别来说一下。</span><span style="font-size: 12pt"></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt">JumpList</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">效果图如下。</span></p>
<p style="text-indent: 24pt"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/JumpList_1.jpg" width="234" height="430" /></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">在图中，下方的三个选项是系统默认就有的，常用和任务，则是必需写代码来完成的。其实</span><span style="font-size: 12pt">JumpList</span><span style="font-family: 宋体; font-size: 12pt">就是提供了一组快键方式。并且对快键方式进行分组分类。</span><span style="font-size: 12pt"></span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">首先来说一下添加和清除任务项，任务就是应用程序外的其他小工具的便键调用。</span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">首先要注册一下</span><span style="font-size: 12pt">ApplicationID</span><span style="font-family: 宋体; font-size: 12pt">，名称为</span></p>
<p style="text-align: left; text-indent: 36pt" align="left"><span style="font-size: 12pt">TaskbarManager.Instance.ApplicationId = "MS.TaskBarDemo.JumpList.1.0";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">要有一个</span><span style="font-size: 12pt">JumpList</span><span style="font-family: 宋体; font-size: 12pt">对象</span></p>
<p style="text-indent: 24pt">&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Microsoft.WindowsAPICodePack.Taskbar.JumpList&nbsp;jumplist&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Microsoft.WindowsAPICodePack.Taskbar.JumpList.CreateJumpList();<br /></span><span style="color: #008080">2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;jumplist.Refresh();<br /></span><span style="color: #008080">3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p style="text-indent: 24pt">&nbsp;</p>
<p style="text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">现在来实现添加任务列表</span><span style="font-size: 12pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-indent: 24pt">&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;systemFolder&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Environment.GetFolderPath(Environment.SpecialFolder.System);<br /></span><span style="color: #008080">2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">创建计算器</span><span style="color: #008000"><br /></span><span style="color: #008080">3</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;IJumpListTask&nbsp;calcTask&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JumpListLink(Path.Combine(systemFolder,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">calc.exe</span><span style="color: #800000">"</span><span style="color: #000000">),&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">打开计算器</span><span style="color: #800000">"</span><span style="color: #000000">)<br /></span><span style="color: #008080">4</span><span style="color: #000000"><img id="Codehighlighter1_189_278_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_189_278_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_189_278_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_189_278_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_189_278_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_189_278_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_189_278_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_189_278_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_189_278_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_189_278_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">5</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IconReference&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;IconReference(Path.Combine(systemFolder,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">calc.exe</span><span style="color: #800000">"</span><span style="color: #000000">),&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">)<br /></span><span style="color: #008080">6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;}</span></span><span style="color: #000000">;<br /></span><span style="color: #008080">7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.AddUserTasks(calcTask,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JumpListSeparator());<br /></span><span style="color: #008080">8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;jumplist.Refresh();<br /></span><span style="color: #008080">9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p style="text-indent: 24pt">&nbsp;</p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">清除任务列表如下</span><span style="font-size: 12pt"></span></p>
<p style="text-indent: 24pt">&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">jumplist.ClearAllUserTasks();<br /></span><span style="color: #008080">2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.Refresh();<br /></span><span style="color: #008080">3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p style="text-indent: 24pt">&nbsp;</p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">上面这些类，都是</span><span style="font-size: 12pt">Microsoft.WindowsAPICodePack.dll</span><span style="font-family: 宋体; font-size: 12pt">和</span><span style="font-size: 12pt">Microsoft.WindowsAPICodePack.Shell.dll</span><span style="font-family: 宋体; font-size: 12pt">封装的，这两个项目都是开源的。其实真正添加任务的工作（包括后面自定义</span><span style="font-size: 12pt">Category</span><span style="font-family: 宋体; font-size: 12pt">）都是</span><span style="font-size: 12pt">jumplist.Refresh()</span><span style="font-family: 宋体; font-size: 12pt">这个方法完成的。</span><span style="font-size: 12pt"></span></p>
<p style="text-indent: 24pt"><span style="font-family: 宋体; font-size: 12pt">不防我们来看一下，运用</span><span style="font-size: 12pt">VS</span><span style="font-family: 宋体; font-size: 12pt">地&#8220;转到定义&#8221;会转到一个名为&#8220;</span><span style="font-size: 12pt">TaskbarCOMInterfaces</span><span style="font-family: 宋体; font-size: 12pt">&#8221;的一个页面。</span></p>
<p style="text-indent: 24pt">&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">[ComImportAttribute()]<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;[GuidAttribute(</span><span style="color: #800000">"</span><span style="color: #800000">6332DEBF-87B5-4670-90C0-5E57B408A49E</span><span style="color: #800000">"</span><span style="color: #000000">)]<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">internal</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">interface</span><span style="color: #000000">&nbsp;ICustomDestinationList<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_200_347_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_200_347_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_200_347_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_200_347_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_200_347_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_200_347_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_200_347_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_200_347_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_200_347_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_200_347_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8230;&#8230;<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[PreserveSig]<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HRESULT&nbsp;AddUserTasks(<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[MarshalAs(UnmanagedType.Interface)]&nbsp;IObjectArray&nbsp;poa);<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8230;&#8230;<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p style="text-indent: 24pt">&nbsp;</p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">可以看到，在</span><span style="font-size: 12pt">win7</span><span style="font-family: 宋体; font-size: 12pt">中，</span><span style="font-size: 12pt">JumpList</span><span style="font-family: 宋体; font-size: 12pt">的编程是通过</span><span style="font-size: 12pt">COM</span><span style="font-family: 宋体; font-size: 12pt">组件来实现的。</span><span style="font-size: 12pt"></span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">我为简单，建议开发时用</span><span style="font-size: 12pt">MS</span><span style="font-family: 宋体; font-size: 12pt">封装好的</span><span style="font-size: 12pt">Kit</span><span style="font-family: 宋体; font-size: 12pt">，这样编程更高效。</span></p>
<p style="text-align: left; text-indent: 24pt" align="left"><span style="font-family: 宋体; font-size: 12pt">自定义</span><span style="font-size: 12pt">Category</span><span style="font-family: 宋体; font-size: 12pt">，通常是把自己的类型或系统识别的类型添加成快捷方式。操作代码如下：</span></p>
<p style="text-indent: 24pt">&nbsp;</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #008000">//</span><span style="color: #008000">创建自己定义Category</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JumpListCustomCategory&nbsp;myCategory;<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;AddCategory_But_Click(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;RoutedEventArgs&nbsp;e)<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_145_321_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_145_321_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_145_321_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_145_321_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_145_321_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_145_321_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_145_321_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_145_321_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_145_321_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_145_321_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myCategory&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JumpListCustomCategory(&#8220;Category名称&#8221;);<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.AddCustomCategories(myCategory);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.Refresh();<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">创建子类型</span><span style="color: #008000"><br /></span><span style="color: #008080">11</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;subCategory_BUT_Click(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;RoutedEventArgs&nbsp;e)<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_424_643_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_424_643_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_424_643_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_424_643_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_424_643_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_424_643_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_424_643_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_424_643_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_424_643_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_424_643_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;path&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;&nbsp;Assembly.GetExecutingAssembly().Location;<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JumpListItem&nbsp;jli&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JumpListItem(path);&nbsp;&nbsp;<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myCategory.AddJumpListItems(jli);&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.Refresh();<br /></span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">创建子连接</span><span style="color: #008000"><br /></span><span style="color: #008080">20</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;addLink_BUT_Click(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;RoutedEventArgs&nbsp;e)<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img id="Codehighlighter1_742_944_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_742_944_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_742_944_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_742_944_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_742_944_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_742_944_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_742_944_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_742_944_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_742_944_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_742_944_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;path&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">@"</span><span style="color: #800000">F://a.wmv</span><span style="color: #800000">"</span><span style="color: #000000">;<br /></span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JumpListLink&nbsp;jll&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JumpListLink(path,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">连接</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">24</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myCategory.AddJumpListItems(jll);<br /></span><span style="color: #008080">25</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jumplist.Refresh();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">26</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p style="text-indent: 24pt">&nbsp;</p>
<p style="text-indent: 24pt">&nbsp;</p></span><img src="http://www.cnblogs.com/axzxs2001/aggbug/1586955.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/10/20/1586955.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/10/20/1586955.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>ASP.NET MVC数据验证</title><link>http://www.cnblogs.com/axzxs2001/archive/2009/09/10/1564348.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Thu, 10 Sep 2009 14:01:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2009/09/10/1564348.html</guid><description><![CDATA[<p>阅读: 2028 评论: 8 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2009-09-10 22:01 <a href="http://www.cnblogs.com/axzxs2001/archive/2009/09/10/1564348.html" target="_blank">原文链接</a></p><p style="text-indent: 21pt"><span style="font-family: 宋体">关于</span>ASP.NET MVC<span style="font-family: 宋体">的验证，用起来很特别，因为</span>MS<span style="font-family: 宋体">的封装，使人理解起来很费解。也可能很多人都在</span>Scott Guthrie<span style="font-family: 宋体">等人写的一本《</span>ASP.NET MVC 1.0<span style="font-family: 宋体">》书中，见过</span>NerdDinner<span style="font-family: 宋体">项目中对</span>Dinner<span style="font-family: 宋体">对象修改和添加的时的数据验证。但有许多封装的地方，不知道是怎样的工作原理，今天研究了，拿出来给大家分享一下。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">数据库还是上一篇</span>blog<span style="font-family: 宋体">中的库与表，同样的方法来创建</span>news<span style="font-family: 宋体">表的实体类，在自动生成的</span>news<span style="font-family: 宋体">这个实体类中，我们发现有一个特殊的分部方法：</span></p>
<p style="text-indent: 18pt"><span style="font-family: 新宋体; color: blue; font-size: 9pt">partial</span><span style="font-family: 新宋体; font-size: 9pt"> <span style="color: blue">void</span> OnValidate(System.Data.Linq.<span style="color: #2b91af">ChangeAction</span> action);</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">这个方法没有实现，我们根据</span>C#<span style="font-family: 宋体">的语法知道，如果分部类中的分部方法，没有实现的话，调用和定议的地方都不会起什么作用。现在，我们要去完善这个方法，让它&#8220;用&#8221;起来。</span></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体">首先，人产在</span>Models<span style="font-family: 宋体">中创建</span>news<span style="font-family: 宋体">类的另一部分，代码如下：</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_214702" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_214702').style.display='none'; document.getElementById('Code_Open_Image_214702').style.display='inline'; document.getElementById('Code_Open_Text_214702').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_214702" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_214702').style.display='none'; getElementById('Code_Closed_Image_214702').style.display='inline'; getElementById('Code_Closed_Text_214702').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_214702" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_214702"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">partial</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;news<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_32_723_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_32_723_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_32_723_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_32_723_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_32_723_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_32_723_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_32_723_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_32_723_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_32_723_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_32_723_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">partial</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;OnValidate(System.Data.Linq.ChangeAction&nbsp;action)<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_112_237_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_112_237_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_112_237_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_112_237_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_112_237_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_112_237_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_112_237_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_112_237_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_112_237_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_112_237_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">IsValid)<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_152_227_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_152_227_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_152_227_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_152_227_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_152_227_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_152_227_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_152_227_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_152_227_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_152_227_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_152_227_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throw</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ApplicationException(</span><span style="color: #800000">"</span><span style="color: #800000">验证内容项出错！</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;IsValid<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_274_348_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_274_348_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_274_348_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_274_348_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_274_348_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_274_348_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_274_348_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_274_348_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_274_348_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_274_348_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_292_338_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_292_338_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_292_338_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_292_338_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_292_338_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_292_338_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_292_338_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_292_338_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_292_338_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_292_338_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(GetRuleViolations().Count()&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">);&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;IEnumerable</span><span style="color: #000000">&lt;</span><span style="color: #000000">RuleViolation</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;GetRuleViolations()<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_419_717_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_419_717_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_419_717_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_419_717_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_419_717_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_419_717_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_419_717_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_419_717_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_419_717_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_419_717_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(String.IsNullOrEmpty(</span><span style="color: #0000ff">this</span><span style="color: #000000">.title&nbsp;.Trim&nbsp;()&nbsp;))<br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">yield</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;RuleViolation(</span><span style="color: #800000">"</span><span style="color: #800000">题目步能为空！</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">题目</span><span style="color: #800000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(String.IsNullOrEmpty(</span><span style="color: #0000ff">this</span><span style="color: #000000">.contents&nbsp;.Trim&nbsp;()))<br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">yield</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;RuleViolation(</span><span style="color: #800000">"</span><span style="color: #800000">内容不能为空！</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">内容</span><span style="color: #800000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">yield</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_724_771_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_724_771_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_724_771_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_724_771_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_724_771_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_724_771_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_724_771_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_724_771_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_724_771_Closed_Text">/**/</span><span id="Codehighlighter1_724_771_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">24</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;规则信息类<br /></span><span style="color: #008080">25</span><span style="color: #008000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">26</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;RuleViolation<br /></span><span style="color: #008080">27</span><span style="color: #000000"><img id="Codehighlighter1_806_1213_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_806_1213_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_806_1213_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_806_1213_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_806_1213_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_806_1213_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_806_1213_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_806_1213_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_806_1213_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_806_1213_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">28</span><span style="color: #000000"><img id="Codehighlighter1_843_864_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_843_864_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_843_864_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_843_864_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_843_864_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_843_864_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_843_864_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_843_864_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrorMessage&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_843_864_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_843_864_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">29</span><span style="color: #000000"><img id="Codehighlighter1_900_921_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_900_921_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_900_921_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_900_921_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_900_921_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_900_921_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_900_921_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_900_921_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;PropertyName&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_900_921_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_900_921_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br /></span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;RuleViolation(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;errorMessage)<br /></span><span style="color: #008080">32</span><span style="color: #000000"><img id="Codehighlighter1_981_1033_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_981_1033_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_981_1033_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_981_1033_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_981_1033_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_981_1033_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_981_1033_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_981_1033_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_981_1033_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_981_1033_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ErrorMessage&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;errorMessage;<br /></span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br /></span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;RuleViolation(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;errorMessage,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;propertyName)<br /></span><span style="color: #008080">37</span><span style="color: #000000"><img id="Codehighlighter1_1114_1207_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1114_1207_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1114_1207_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1114_1207_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1114_1207_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1114_1207_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1114_1207_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1114_1207_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1114_1207_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1114_1207_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ErrorMessage&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;errorMessage;<br /></span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertyName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;propertyName;<br /></span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">41</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">42</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></span></div>
<p style="text-align: left; text-indent: 21pt" align="left"></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体">在这里给出这么多代码，其实是提前有设计的，因为从业务角度考虑，还不应该写这部分代码。</span>RuleViolation<span style="font-family: 宋体">类很简单，就是一个包括了两个属性的类（这个类的结构设计是根据后面的</span>ModelState.AddModelError<span style="font-family: 宋体">主法来设计的）。</span></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体">在</span>news<span style="font-family: 宋体">分部类中，有一个</span>IsValid<span style="font-family: 宋体">的属性，这个属性是</span>bool<span style="font-family: 宋体">类型的，返回值取决于</span>GetRuleViolations<span style="font-family: 宋体">这个方法，这个方法返回值是一个</span>IEnumerable&lt;RuleViolation&gt;<span style="font-family: 宋体">类型的，</span>IEnumerable<span style="font-family: 宋体">是通过</span>news<span style="font-family: 宋体">的几个属性是否为空来生成跌代的。如果</span>title<span style="font-family: 宋体">或</span>contents<span style="font-family: 宋体">为</span>Null<span style="font-family: 宋体">或</span>&#8221;&#8221;<span style="font-family: 宋体">，就返回跌代。其实真正的用户数据的验证就是在这里实现，用户的数据的对与错，就是一个逻辑，只要用户数据不符合规则，就可以　&#8220;</span>yield return new RuleViolation("<span style="font-family: 宋体">错误标识</span>","<span style="font-family: 宋体">错误提示信息！</span>")<span style="font-family: 宋体">&#8221;</span>;<span style="font-family: 宋体">这里的错误码提示信息是显示到客户端的，所以要处理好友好的提示。</span></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体">现在验证用户数据，生成错误列表的工作都做完了，但关键是怎么能让用户提交数据时，调用</span>OnValidate<span style="font-family: 宋体">。这个问题，先放一下，请记住，上面的代码，只要在用户提交数据时，调用</span>OnValidate<span style="font-family: 宋体">，这样就能得到错误集合。</span></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体; font-size: 10.5pt">现在，让我们来处理</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">Cotroller</span><span style="font-family: 宋体; font-size: 10.5pt">和</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">View</span><span style="font-family: 宋体; font-size: 10.5pt">层，在</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">Cotroller</span><span style="font-family: 宋体; font-size: 10.5pt">层，首先来添加</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">index</span><span style="font-family: 宋体; font-size: 10.5pt">这个</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">Action</span><span style="font-family: 宋体; font-size: 10.5pt">，代码如下：<br /></p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ActionResult&nbsp;Index()<br /></span><span style="color: #008080">2</span><span style="color: #000000"><img id="Codehighlighter1_36_150_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_150_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_36_150_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_150_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_36_150_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_150_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_36_150_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_150_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_36_150_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_36_150_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;NewsList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;DCDC.news.Select(newss</span><span style="color: #000000">=&gt;</span><span style="color: #000000">newss);<br /></span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;View(NewsList&nbsp;);<br /></span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></div>
<p style="text-align: left; text-indent: 21pt" align="left"></p>
<p style="text-align: left; text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal" align="left"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这个</span><span lang="EN-US">Action</span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">返回所有</span><span lang="EN-US">news</span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">表中的记录。</span></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">对应的</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang="EN-US">View</span><span style="font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">如下：</span><br /></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_214802" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_214802').style.display='none'; document.getElementById('Code_Open_Image_214802').style.display='inline'; document.getElementById('Code_Open_Text_214802').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_214802" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_214802').style.display='none'; getElementById('Code_Closed_Image_214802').style.display='inline'; getElementById('Code_Closed_Text_214802').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_214802" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_214802"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_2_148_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2_148_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2_148_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2_148_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_2_148_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2_148_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2_148_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2_148_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2_148_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_2_148_Open_Text"><span style="background-color: #f5f5f5; color: #000000">@&nbsp;Page&nbsp;Title</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">""</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">C#</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;MasterPageFile</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">~/Views/Shared/Site.Master</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Inherits</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">System.Web.Mvc.ViewPage&lt;IEnumerable&lt;MvcCompany.Models.news&gt;&gt;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Content&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Content1"</span><span style="color: #ff0000">&nbsp;ContentPlaceHolderID</span><span style="color: #0000ff">="TitleContent"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;Index<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Content</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Content&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Content2"</span><span style="color: #ff0000">&nbsp;ContentPlaceHolderID</span><span style="color: #0000ff">="MainContent"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h2</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Index</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h2</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">table</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title<br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datetimes<br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contents<br /></span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IsValid<br /></span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">31</span><span style="color: #000000"><img id="Codehighlighter1_712_743_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_712_743_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_712_743_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_712_743_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_712_743_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_712_743_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_712_743_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_712_743_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_712_743_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_712_743_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;foreach&nbsp;(var&nbsp;item&nbsp;in&nbsp;Model)&nbsp;{&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.ActionLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Edit</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Edit</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">new</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;{&nbsp;id</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">item.ID&nbsp;})&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000">&nbsp;|<br /></span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.ActionLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Details</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Details</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">new</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;{&nbsp;id</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">item.ID&nbsp;})</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(item.ID)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">41</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">42</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(item.title)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">43</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">44</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">45</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(</span><span style="background-color: #f5f5f5; color: #0000ff">String</span><span style="background-color: #f5f5f5; color: #000000">.Format(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">{0:g}</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;item.datetimes))&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">46</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">47</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">48</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(item.contents)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">49</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">50</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">51</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(item.IsValid)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">52</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">53</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">54</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">55</span><span style="color: #000000"><img id="Codehighlighter1_1421_1424_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1421_1424_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1421_1424_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1421_1424_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1421_1424_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1421_1424_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1421_1424_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1421_1424_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1421_1424_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1421_1424_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;}&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">56</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">57</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">table</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">58</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">59</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">60</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.ActionLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Create&nbsp;New</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Create</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">61</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">62</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Content</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">63</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></span></div>
<p style="text-align: left; text-indent: 21pt" align="left"></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体">代码中，需要我们注意是的</span><span style="font-family: 新宋体; font-size: 9pt">&nbsp;&nbsp;&nbsp; <span style="background: yellow">&lt;%</span><span style="color: blue">=</span> Html.ActionLink(<span style="color: #a31515">"Edit"</span>, <span style="color: #a31515">"Edit"</span>, <span style="color: blue">new</span> { id=item.ID }) <span style="background: yellow">%&gt;</span></span></p>
<p style="text-align: left; text-indent: 21pt" align="left"><span style="font-family: 宋体">因为要导航到</span>Edit<span style="font-family: 宋体">的</span>View<span style="font-family: 宋体">，把以接下来我们创建</span>Edit<span style="font-family: 宋体">的</span>Action<span style="font-family: 宋体">和</span>View(<span style="font-family: 宋体">因为在编辑数据时，要用到验证，</span>Edit<span style="font-family: 宋体">才是我们的重点</span>)<span style="font-family: 宋体">。</span></p>
<p style="text-align: left; text-indent: 21pt" align="left"></p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ActionResult&nbsp;Edit(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)<br /></span><span style="color: #008080">2</span><span style="color: #000000"><img id="Codehighlighter1_42_144_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_42_144_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_42_144_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_42_144_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_42_144_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_42_144_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_42_144_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_42_144_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_42_144_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_42_144_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;list&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;DCDC.news.Single(newss</span><span style="color: #000000">=&gt;</span><span style="color: #000000">newss.ID&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">id);<br /></span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;View(list);<br /></span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></div>
<p style="text-align: left; text-indent: 21pt" align="left"></p>
<p align="left"><span style="font-family: 新宋体; font-size: 9pt"><span style="background: yellow">
<p align="left"><span style="font-family: 宋体"></span></p>
<p><span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&nbsp;</p>
<p style="text-align: left; text-indent: 21pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" class="MsoNormal" align="left"><span lang="EN-US"><font face="Calibri"><span style="background-color: #ffffff">&lt;%= Html.ActionLink("Edit", "Edit", new { id=item.ID }) %&gt;</span></font></span><span style="background-color: #ffffff; font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中的</span><span lang="EN-US"><font face="Calibri"><span style="background-color: #ffffff">id</span></font></span><span style="background-color: #ffffff; font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">会被当成参数送到</span><span lang="EN-US"><font face="Calibri"><span style="background-color: #ffffff">EditController</span></font></span><span style="background-color: #ffffff; font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span lang="EN-US"><font face="Calibri"><span style="background-color: #ffffff">Edit(int id)</span></font></span><span style="background-color: #ffffff; font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span lang="EN-US"><font face="Calibri"><span style="background-color: #ffffff">Action</span></font></span><span style="background-color: #ffffff; font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，成为</span><span lang="EN-US"><font face="Calibri"><span style="background-color: #ffffff">Edit</span></font></span><span style="background-color: #ffffff; font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">方法的实参。</span></p>
<p><span style="background-color: #ffffff; font-family: 'Calibri','sans-serif'; font-size: 10.5pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang="EN-US">Edit.aspx</span><span style="background-color: #ffffff; font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">页面如下图：<br /><br /><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/aspnetmvc.jpg" width="325" height="267" /><br /></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">对应</span><span lang="EN-US"><font face="Calibri">Edit</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span lang="EN-US"><font face="Calibri">Action</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">生成</span><span lang="EN-US"><font face="Calibri">view</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，代码如下：</span></p>
<p><br /><br /><span style="font-size: 14pt">&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_215707" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_215707').style.display='none'; document.getElementById('Code_Open_Image_215707').style.display='inline'; document.getElementById('Code_Open_Text_215707').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_215707" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_215707').style.display='none'; getElementById('Code_Closed_Image_215707').style.display='inline'; getElementById('Code_Closed_Text_215707').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_215707" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_215707"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_2_135_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2_135_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2_135_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2_135_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_2_135_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2_135_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2_135_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2_135_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2_135_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_2_135_Open_Text"><span style="background-color: #f5f5f5; color: #000000">@&nbsp;Page&nbsp;Title</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">""</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">C#</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;MasterPageFile</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">~/Views/Shared/Site.Master</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Inherits</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">System.Web.Mvc.ViewPage&lt;MvcCompany.Models.news&gt;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Content&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Content1"</span><span style="color: #ff0000">&nbsp;ContentPlaceHolderID</span><span style="color: #0000ff">="TitleContent"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;编辑<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Content</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Content&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Content2"</span><span style="color: #ff0000">&nbsp;ContentPlaceHolderID</span><span style="color: #0000ff">="MainContent"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h2&nbsp;</span><span style="color: #ff0000">style&nbsp;</span><span style="color: #0000ff">="text-align&nbsp;:left&nbsp;;"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">编辑</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h2</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.ValidationSummary(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Edit&nbsp;was&nbsp;unsuccessful.&nbsp;Please&nbsp;correct&nbsp;the&nbsp;errors&nbsp;and&nbsp;try&nbsp;again.</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_465_500_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_465_500_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_465_500_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_465_500_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_465_500_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_465_500_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_465_500_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_465_500_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_465_500_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_465_500_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;using&nbsp;(Html.BeginForm())<br /></span><span style="color: #008080">&nbsp;9</span><span style="background-color: #f5f5f5; color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">fieldset</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">legend</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">详细内容</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">legend</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">label&nbsp;</span><span style="color: #ff0000">for</span><span style="color: #0000ff">="title"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">标题：</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">label</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.TextBox(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">title</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;Model.title)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.ValidationMessage(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">题目</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">*</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">)</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">label&nbsp;</span><span style="color: #ff0000">for</span><span style="color: #0000ff">="datetimes"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">时间：</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">label</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.TextBox(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">datetimes</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">String</span><span style="background-color: #f5f5f5; color: #000000">.Format(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">{0:g}</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;Model.datetimes))&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.ValidationMessage(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">时间</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">*</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">label&nbsp;</span><span style="color: #ff0000">for</span><span style="color: #0000ff">="contents"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">内容：</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">label</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.TextBox(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">contents</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;Model.contents)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.ValidationMessage(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">内容</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">*</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">)</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="submit"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="更新"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">fieldset</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">31</span><span style="color: #000000"><img id="Codehighlighter1_1300_1303_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1300_1303_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1300_1303_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1300_1303_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1300_1303_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1300_1303_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1300_1303_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1300_1303_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1300_1303_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1300_1303_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;}&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">Html.ActionLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Back&nbsp;to&nbsp;List</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">Index</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">)&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br /></span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Content</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></span></div>
<p>&nbsp;</p>
<p><span style="font-family: 宋体">如果要单击&#8220;更新&#8221;返回数据新数据，还需要我们写如下一个</span>Action<span style="font-family: 宋体">：</span></p>
<p>&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_215747" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_215747').style.display='none'; document.getElementById('Code_Open_Image_215747').style.display='inline'; document.getElementById('Code_Open_Text_215747').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_215747" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_215747').style.display='none'; getElementById('Code_Closed_Image_215747').style.display='inline'; getElementById('Code_Closed_Text_215747').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_215747" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_215747"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">[AcceptVerbs(HttpVerbs.Post)]<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;ActionResult&nbsp;Edit(int&nbsp;id,FormCollection&nbsp;formValuews)<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;news&nbsp;Sig_news&nbsp;=&nbsp;DCDC.news.Single(newss&nbsp;=&gt;&nbsp;newss.ID&nbsp;==&nbsp;id);<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sig_news.title&nbsp;=&nbsp;formValuews.GetValue("title").AttemptedValue;<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sig_news.datetimes&nbsp;=&nbsp;DateTime.Parse(formValuews.GetValue("datetimes").AttemptedValue);<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sig_news.contents&nbsp;=&nbsp;formValuews.GetValue("contents").AttemptedValue;<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCDC.SubmitChanges();<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;RedirectToAction("Index");<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(var&nbsp;v&nbsp;in&nbsp;Sig_news.GetRuleViolations())<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModelState.AddModelError(v.PropertyName,v.ErrorMessage);<br /></span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;View(Sig_news);<br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></span></div>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: 12pt">这个</span><span style="font-size: 12pt">Edit</span><span style="font-family: 宋体; font-size: 12pt">的</span><span style="font-size: 12pt">Action</span><span style="font-family: 宋体; font-size: 12pt">是用户提交返来更新数据库的，我们可以从</span><span style="font-size: 12pt">formValuews</span><span style="font-family: 宋体; font-size: 12pt">得到用户在页面上更新的数据，来更新</span><span style="font-size: 12pt">Sig_news</span><span style="font-family: 宋体; font-size: 12pt">对象，然后调用</span><span style="font-size: 12pt">DCDC.SubmitChanges();</span><span style="font-family: 宋体; font-size: 12pt">去更新数据库，如果没有民常，会导航到</span><span style="font-size: 12pt">index.aspx</span><span style="font-family: 宋体; font-size: 12pt">页面。如果发生异常，就会运行到</span><span style="font-size: 12pt">catch</span><span style="font-family: 宋体; font-size: 12pt">里。如果还记得，在本文的前半部分，我们说到</span><span style="font-size: 12pt">OnValidate</span><span style="font-family: 宋体; font-size: 12pt">，是数据在提交时应该验证，但在这里，我们并没有显示的调用</span><span style="font-size: 12pt">OnValidate</span><span style="font-family: 宋体; font-size: 12pt">这个方法，但实际运行中，我们发现，这个方法被执行了，如果我们建立跟踪，把断点设在</span><span style="font-size: 12pt">DCDC.SubmitChanges();</span><span style="font-family: 宋体; font-size: 12pt">如果我们数据有民常，会发现当</span><span style="font-size: 12pt">DCDC.SubmitChanges();</span><span style="font-family: 宋体; font-size: 12pt">执行完后就会跳到</span><span style="font-size: 12pt">partial void OnValidate(System.Data.Linq.ChangeAction action)</span><span style="font-family: 宋体; font-size: 12pt">这个方法，这是怎么做到的呢？我们猜测，一定是在数据提交时，调用</span><span style="font-size: 12pt">OnValidate</span><span style="font-family: 宋体; font-size: 12pt">这个方法。为了找到它们的关系，只好用</span><span style="font-size: 12pt">Reflector.exe</span><span style="font-family: 宋体; font-size: 12pt">来&#8220;探测&#8221;一下了（</span><span style="font-size: 12pt">Reflector.exe</span><span style="font-family: 宋体; font-size: 12pt">的用法就不说了）。</span></p>
<p><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">SubmitChanges</span><span style="font-family: 宋体; font-size: 10.5pt">方法是</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">DataContext</span><span style="font-family: 宋体; font-size: 10.5pt">的一个方法，这个类位于</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">System.Data.Linq</span><span style="font-family: 宋体; font-size: 10.5pt">命空间下，用</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">Reflector.exe</span><span style="font-family: 宋体; font-size: 10.5pt">打开</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">SubmitChanges</span><span style="font-family: 宋体; font-size: 10.5pt">，看到</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">this.SubmitChanges(ConflictMode.FailOnFirstConflict);</span><span style="font-family: 宋体; font-size: 10.5pt">定位这个方法，可以看到</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">new ChangeProcessor(this.services, this).SubmitChanges(failureMode);</span><span style="font-family: 宋体; font-size: 10.5pt">定位查找会发现</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">ValidateAll(orderedList);</span><span style="font-family: 宋体; font-size: 10.5pt">在这个方法中，多处看到</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">&nbsp;SendOnValidate(obj2.Type, obj2, ChangeAction.Insert);</span><span style="font-family: 宋体; font-size: 10.5pt">这个方法，再定位，有这样一行代码</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">&nbsp;type.OnValidateMethod.Invoke(item.Current, new object[] { changeAction });</span><span style="font-family: 宋体; font-size: 10.5pt">这里，正是通过反射调用了</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">OnValidate</span><span style="font-family: 宋体; font-size: 10.5pt">这个方法。这样我们就找到了</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">SubmitChanges</span><span style="font-family: 宋体; font-size: 10.5pt">执行时调用</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">OnValidate</span><span style="font-family: 宋体; font-size: 10.5pt">的方法了（其不用调用</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">OnValidate</span><span style="font-family: 宋体; font-size: 10.5pt">也可以验证用户数据，只需要写个方法，在</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">SubmitChanges </span><span style="font-family: 宋体; font-size: 10.5pt">提交以前执行就可以达到同样效果）。同时，当发生异常时，</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">OnValidate</span><span style="font-family: 宋体; font-size: 10.5pt">会抛出一个</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">Application</span><span style="font-family: 宋体; font-size: 10.5pt">的异常，这里会被</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">public ActionResult Edit(int id,FormCollection formValuews)</span><span style="font-family: 宋体; font-size: 10.5pt">方法中的</span><span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt">Catch</span><span style="font-family: 宋体; font-size: 10.5pt">捕获到，就执行如下代码：<br /></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_215837" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_215837').style.display='none'; document.getElementById('Code_Open_Image_215837').style.display='inline'; document.getElementById('Code_Open_Text_215837').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_215837" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_215837').style.display='none'; getElementById('Code_Closed_Image_215837').style.display='inline'; getElementById('Code_Closed_Text_215837').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_215837" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_215837"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #0000ff">foreach</span><span style="color: #000000">&nbsp;(var&nbsp;v&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;Sig_news.GetRuleViolations())<br /></span><span style="color: #008080">2</span><span style="color: #000000"><img id="Codehighlighter1_64_165_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_64_165_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_64_165_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_64_165_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_64_165_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_64_165_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_64_165_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_64_165_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_64_165_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_64_165_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.ModelState.AddModelError(v.PropertyName,v.ErrorMessage);<br /></span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;View(Sig_news);<br /></span><span style="color: #008080">6</span><span style="color: #000000"><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></span></span></div>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这行代码的意思是把错误的信息，以键值的方式放入</span><span lang="EN-US"><font face="Calibri">ModelState</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中，</span><span lang="EN-US"><font face="Calibri">ModelState</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是一个</span><span lang="EN-US"><font face="Calibri">ModelStateDictionary</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">类型，这个类型实现了</span><span lang="EN-US"><font face="Calibri">IDictionary&lt;string, ModelState&gt;, ICollection&lt;KeyValuePair&lt;string, ModelState&gt;&gt;, IEnumerable&lt;KeyValuePair&lt;string, ModelState&gt;&gt;, IEnumerable</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这些接口（这里要注意，</span><span lang="EN-US"><font face="Calibri">ModelState</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是当前对象的一个属性，并且它的</span><span lang="EN-US"><font face="Calibri">AddModelError</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">方法的第一个参数</span><span lang="EN-US"><font face="Calibri">key</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">有其独特的作用）。处理完异常后，还是返回当前页面。这时你会发现，在页面的</span><span lang="EN-US"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>&lt;%= Html.ValidationSummary("Edit was unsuccessful. Please correct the errors and try again.") %&gt;</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">发生了变化，把我们错误的地方去提示出来了，这里就是，为什么我们把错误信息放到</span><span lang="EN-US"><font face="Calibri">ModelState</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中，而错误则显示在了</span><span lang="EN-US"><font face="Calibri">Html.ValidationSummary</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中了呢？并且发生错误的数据后会加上了一个红色的&#8220;</span><span lang="EN-US"><font face="Calibri">*</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&#8221;，这是怎么样做到的呢？</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">再次利用</span><span lang="EN-US"><font face="Calibri">Reflector.exe,</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">查看</span><span lang="EN-US"><font face="Calibri">Html.ValidationSummary</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">方法和</span><span lang="EN-US"><font face="Calibri">Html.ValidationMessage</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">方法，会发现它们显示的数据是从</span><span lang="EN-US"><font face="Calibri">ModelState </font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中获取的，如果</span><span lang="EN-US"><font face="Calibri">ModelState</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">　这个集合中没有数据，</span><span lang="EN-US"><font face="Calibri">Html.ValidationSummary</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">和</span><span lang="EN-US"><font face="Calibri">Html.ValidationMessage</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">就返回空，如果发生异常，</span><span lang="EN-US"><font face="Calibri">this.ModelState</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中有子项，就会通过</span><span lang="EN-US"><font face="Calibri">Html.ValidationSummary</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">和</span><span lang="EN-US"><font face="Calibri">Html.ValidationMessage</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在页面页上显示出来。因为</span><span lang="EN-US"><font face="Calibri">Html.ValidationMessage</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在页面上有多个，所以在</span><span lang="EN-US"><font face="Calibri">this.ModelState.AddModelError(v.PropertyName,v.ErrorMessage);</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">方法中的</span><span lang="EN-US"><font face="Calibri">v.PropertyName</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">就有了用处了，这个值要与</span><span lang="EN-US"><font face="Calibri">&lt;%= Html.ValidationMessage("</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">题目</span><span lang="EN-US"><font face="Calibri">", "*")%&gt;</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中的第一个参数对应，这样</span><span lang="EN-US"><font face="Calibri">&lt;%= Html.ValidationMessage("</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">题目</span><span lang="EN-US"><font face="Calibri">", "*")%&gt;</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">才能起到作用，显示出第二个参数&#8220;</span><span lang="EN-US"><font face="Calibri">*</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&#8221;。</span></p>
<p style="text-align: left; margin: 0cm 0cm 0pt" class="MsoNormal" align="left"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这样一来，就达到了</span><span lang="EN-US"><font face="Calibri">ASP.NET MVC</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的数据验证。由于</span><span lang="EN-US"><font face="Calibri">ASPNET MVC</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">　验证捌的弯比较多，所以下来用个图来说明一下。</span></p>
<p><br /><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/aspnetmvc2.jpg" width="602" height="401" /><br /><br />源码：<a href="http://files.cnblogs.com/axzxs2001/MvcCompany.rar">/Files/axzxs2001/MvcCompany.rar</a><br /></span></span></span></span></span></span></p></span></span><img src="http://www.cnblogs.com/axzxs2001/aggbug/1564348.html?type=1" width="1" height="1" alt=""/><p>评论: 8　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/09/10/1564348.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/09/10/1564348.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>ASP.NET MVC分页的实现</title><link>http://www.cnblogs.com/axzxs2001/archive/2009/09/08/1562757.html</link><dc:creator>桂素伟</dc:creator><author>桂素伟</author><pubDate>Tue, 08 Sep 2009 10:56:00 GMT</pubDate><guid>http://www.cnblogs.com/axzxs2001/archive/2009/09/08/1562757.html</guid><description><![CDATA[<p>阅读: 2510 评论: 14 作者: <a href="http://www.cnblogs.com/axzxs2001/" target="_blank">桂素伟</a> 发表于 2009-09-08 18:56 <a href="http://www.cnblogs.com/axzxs2001/archive/2009/09/08/1562757.html" target="_blank">原文链接</a></p><p>在ASP.NET中，GridView控件本身就带有分页的功能，只要把当前页面的索引值赋给GridView的PageIndex就可以实现了分页，至于数据怎么分页，全都由GridView封装起来了。</p>
<p>在ASP.NET MVC中分页的实现就只能靠自己来设计了。首先来说一下分页的原理。现在有一个张news表，中间有很多信息，我们假设一页显示5条记录，这样，页面数量=总记录数/5；这里，如果出现小数，得进位取整。如比总记录和数为51，那么分的页面数量是11，最后一页只有一条记录。好，有这样一个思路后，现在就来做ASP.NET MVC中的分页了。</p>
<p>1、 数据库和表</p>
<p>创建一个Data_Company的数据库，建一张news表，表结构如下图：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image001_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image001_thumb.jpg" width="319" height="114" /></a></p>
<p>ID是主键，并助是自动增长列。</p>
<p>2、 现在，我们用O/R Designer来创建news表的LINQ To SQL的实体类。</p>
<p>创建一个名为MvcCompany的ASP.NET MVC Web Application项目，然后选中Models，右键，&#8220;添加&#8221;，&#8220;新建项&#8221;，选中C#中的&#8220;数据&#8221;，如下图：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image003_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image003_thumb.jpg" width="513" height="348" /></a></p>
<p>选择&#8220;LINQ to SQL类&#8221;，名称设为&#8220;CompanyData.dbml&#8221;，然后&#8220;添加&#8221;。</p>
<p>打开&#8220;服务器资源管理器&#8221;，创建连接，展开表，找到news表，拖到CompanyData.dbml的左边表视图区（注：.dbml视图左边是SQL表和SQL视图区，右边是SQL存储过程和SQL函数区），效果如下图：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image004_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image004_thumb.jpg" width="232" height="183" /></a></p>
<p>在&#8220;解决方案资源管理器&#8221;下的，&#8220;Models&#8221;多了三个文件，CompanyData.dbml，展开它，会有CompanyData.dbml.layout和CompanyData.designer.cs，前者是CompanyData.dbml视图的一些信息（比如news表在的坐标等信息），后者是news实体类及Data_Company数据库的类，在数据库类中聚合了news实体类。</p>
<p>3、 添加news列表类。因为一个news实体类，一次只能表示一条记录，如果呈现一个news表中的数据，最好定义一个集合类来存临时来存放news记录的集合。</p>
<p>类的实现如下：</p>
<p><br /></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_085933" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_085933').style.display='none'; document.getElementById('Code_Open_Image_085933').style.display='inline'; document.getElementById('Code_Open_Text_085933').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_085933" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_085933').style.display='none'; getElementById('Code_Closed_Image_085933').style.display='inline'; getElementById('Code_Closed_Text_085933').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_085933" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_085933"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Collections.Generic;<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Linq;<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web;<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;MvcCompany.Models<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_118_1047_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_118_1047_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_118_1047_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_118_1047_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_118_1047_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_118_1047_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_118_1047_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_118_1047_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_118_1047_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_118_1047_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;NewList</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;:&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_156_1044_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_156_1044_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_156_1044_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_156_1044_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_156_1044_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_156_1044_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_156_1044_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_156_1044_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_156_1044_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_156_1044_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_159_200_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_159_200_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_159_200_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_159_200_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_159_200_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_159_200_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_159_200_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_159_200_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_159_200_Closed_Text">/**/</span><span id="Codehighlighter1_159_200_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">18</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">19</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;页面索引值<br /></span><span style="color: #008080">20</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">21</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">22</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><span style="color: #000000"><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_222_243_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_222_243_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_222_243_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_222_243_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_222_243_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_222_243_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_222_243_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_222_243_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;PageIndex&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_222_243_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_222_243_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">24</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">25</span><span style="color: #000000"><img id="Codehighlighter1_245_288_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_245_288_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_245_288_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_245_288_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_245_288_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_245_288_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_245_288_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_245_288_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_245_288_Closed_Text">/**/</span><span id="Codehighlighter1_245_288_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">26</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">27</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;每页记录的数量<br /></span><span style="color: #008080">28</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">29</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">30</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><span style="color: #000000"><br /></span><span style="color: #008080">31</span><span style="color: #000000"><img id="Codehighlighter1_309_330_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_309_330_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_309_330_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_309_330_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_309_330_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_309_330_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_309_330_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_309_330_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;PageSize&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_309_330_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_309_330_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">32</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">33</span><span style="color: #000000"><img id="Codehighlighter1_332_373_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_332_373_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_332_373_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_332_373_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_332_373_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_332_373_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_332_373_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_332_373_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_332_373_Closed_Text">/**/</span><span id="Codehighlighter1_332_373_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">34</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">35</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;记录总条数<br /></span><span style="color: #008080">36</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">37</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">38</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><span style="color: #000000"><br /></span><span style="color: #008080">39</span><span style="color: #000000"><img id="Codehighlighter1_396_417_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_396_417_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_396_417_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_396_417_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_396_417_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_396_417_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_396_417_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_396_417_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;TotalCount&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_396_417_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_396_417_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">40</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">41</span><span style="color: #000000"><img id="Codehighlighter1_419_461_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_419_461_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_419_461_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_419_461_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_419_461_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_419_461_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_419_461_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_419_461_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_419_461_Closed_Text">/**/</span><span id="Codehighlighter1_419_461_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">42</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">43</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;共有的页数和<br /></span><span style="color: #008080">44</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">45</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">46</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><span style="color: #000000"><br /></span><span style="color: #008080">47</span><span style="color: #000000"><img id="Codehighlighter1_484_505_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_484_505_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_484_505_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_484_505_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_484_505_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_484_505_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_484_505_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_484_505_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;TotalPages&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_484_505_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_484_505_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">48</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">49</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;NewList(IQueryable</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;source,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;pageIndex,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;pageSize)<br /></span><span style="color: #008080">50</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">51</span><span style="color: #000000"><img id="Codehighlighter1_574_810_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_574_810_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_574_810_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_574_810_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_574_810_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_574_810_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_574_810_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_574_810_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_574_810_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_574_810_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">52</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">53</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />PageIndex&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;pageIndex;<br /></span><span style="color: #008080">54</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">55</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />PageSize&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;pageSize;<br /></span><span style="color: #008080">56</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">57</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />TotalCount&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;source.Count();<br /></span><span style="color: #008080">58</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">59</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;进上去取整（&nbsp;总记录条数/一面记录的条数）</span><span style="color: #008000"><br /></span><span style="color: #008080">60</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000"><br /></span><span style="color: #008080">61</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />TotalPages&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">)Math.Ceiling(TotalCount&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">double</span><span style="color: #000000">)pageSize);<br /></span><span style="color: #008080">62</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">63</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">this</span><span style="color: #000000">.AddRange(source.Skip(pageIndex&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;pageSize).Take(PageSize));<br /></span><span style="color: #008080">64</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">65</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">66</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">67</span><span style="color: #000000"><img id="Codehighlighter1_812_855_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_812_855_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_812_855_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_812_855_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_812_855_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_812_855_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_812_855_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_812_855_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_812_855_Closed_Text">/**/</span><span id="Codehighlighter1_812_855_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">68</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">69</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;是否存在前续页<br /></span><span style="color: #008080">70</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">71</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">72</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><span style="color: #000000"><br /></span><span style="color: #008080">73</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;HasPreviousPage<br /></span><span style="color: #008080">74</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">75</span><span style="color: #000000"><img id="Codehighlighter1_885_922_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_885_922_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_885_922_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_885_922_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_885_922_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_885_922_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_885_922_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_885_922_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_885_922_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_885_922_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">76</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">77</span><span style="color: #000000"><img id="Codehighlighter1_892_919_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_892_919_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_892_919_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_892_919_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_892_919_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_892_919_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_892_919_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_892_919_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_892_919_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_892_919_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(PageIndex&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">);&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">78</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">79</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">80</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">81</span><span style="color: #000000"><img id="Codehighlighter1_924_967_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_924_967_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_924_967_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_924_967_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_924_967_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_924_967_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_924_967_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_924_967_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_924_967_Closed_Text">/**/</span><span id="Codehighlighter1_924_967_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">82</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">83</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;是否存在后续页<br /></span><span style="color: #008080">84</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">85</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">86</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><span style="color: #000000"><br /></span><span style="color: #008080">87</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;HasNextPage<br /></span><span style="color: #008080">88</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">89</span><span style="color: #000000"><img id="Codehighlighter1_993_1041_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_993_1041_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_993_1041_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_993_1041_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_993_1041_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_993_1041_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_993_1041_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_993_1041_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_993_1041_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_993_1041_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">90</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">91</span><span style="color: #000000"><img id="Codehighlighter1_1000_1038_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1000_1038_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1000_1038_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1000_1038_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1000_1038_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1000_1038_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1000_1038_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1000_1038_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1000_1038_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1000_1038_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(PageIndex&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;AllPages);&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">92</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">93</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">94</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">95</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">96</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">97</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">98</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">99</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></span></div>
<p>这里，我们实现了一个泛型的集合列表NewList（当然，这里的本质上可以当其他实体类的集合列表），在这个类中间，有四个字段，访问修饰符都是public的，分另为：</p>
<p>PageIndex：当前页面的索引值</p>
<p>PageSize：每个页面的记录的条数</p>
<p>AllCount：记录的总条数</p>
<p>AllPages：共有的页面总数</p>
<p>在NewList 构造函数中，有如下代码：</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_090215" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_090215').style.display='none'; document.getElementById('Code_Open_Image_090215').style.display='inline'; document.getElementById('Code_Open_Text_090215').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_090215" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_090215').style.display='none'; getElementById('Code_Closed_Image_090215').style.display='inline'; getElementById('Code_Closed_Text_090215').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_090215" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_090215"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;NewList(IQueryable</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;list,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;pageIndex,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;pageSize)<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img id="Codehighlighter1_65_268_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_65_268_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_65_268_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_65_268_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_65_268_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_65_268_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_65_268_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_65_268_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_65_268_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_65_268_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />PageIndex&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;pageIndex;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />PageSize&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;pageSize;<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />AllCount&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;source.Count();&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />AllPages&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">)Math.Ceiling(AllCount&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">double</span><span style="color: #000000">)pageSize);<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">this</span><span style="color: #000000">.AddRange(list.Skip(PageIndex&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;PageSize).Take(PageSize));<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></span></div>
<p>构造函的参数有三个，一个是list，就是实体类的一个集合，还有就是页面索引值和每个页面的记录条数。</p>
<p>第1、2代码很容易理角，第3行代码是得到列表的总记录条数，第4行代码，就完成了我们在开始时分析的分页实现的公式：页面数量=总记录数/每页记录数，其中Math.Ceiling就是把小数部分进到整数的函数。</p>
<p>最关键的是第5行代码，首先看Skip(PageIndex*PageSize)，页面索引值乘上每页记录数，得到是当前页面以前的所有记录数，Skip是跳过这些记录，而得到后面的所有记录，Take(PageSize)是得到PageSize条数的记录，比如，我们想要第三页的记录，这个页面的索引值为2（因为索引值从0开始）PageIndex=2，每页显示5条记录，PageSize=5，就是要跳过list中的前10条记录，然后再取前5条记录，即取list中的第11条到第15条记录，也就是第3页的记录了。</p>
<p>在这里，微软提供了Skip和Tabke函数，让我们做起分页来，得心应手。</p>
<p>接下来是this.AddRange()函数，可以把批量的数据放到当前集合中（因为NewList本身就是一个集合）。</p>
<p>代码的后半部分是两个属性：</p>
<p>public bool HasPreviousPage</p>
<p>{</p>
<p>get { return (PageIndex &gt; 0); }</p>
<p>}</p>
<p>public bool HasNextPage</p>
<p>{</p>
<p>get { return (PageIndex + 1 &lt; AllPages); }</p>
<p>}</p>
<p>这两个属性是为页面显示&#8220;上一页&#8221;和&#8220;下一页&#8221;，因为当我们显示第一页的时候，&#8220;上一页&#8221;是不需要显示的，如果最后一页，是没有&#8220;下一页&#8220;的，所以在这里定义了两个属性，来判断是否有上一页和下一页。</p>
<p>先看HasPreviousPage属性，如果PageIndex是大于0的，说明不是在第一页，所以就反回true，如果小于等于0（在这里小于0是没有意思义的，因为页面的索引值最小是0），说明是第一页，所以返回是false。</p>
<p>再看HasNextPage属性，因为页面索引值的最大数，与页面的最大数差1(索引从0开始的原因)，所以当PageIndex+1小于AllPages时，说没有没到最后一页，返回值是true，如果PageIndex+1大于等于AllPages时（大于也没有意义），说明是最后一页，返回值为false。</p>
<p>4、 添加NewsController。选中Controller，右键添加一个NewsController 的Controller。</p>
<p>代码如下：</p>
<p><br /></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_090019" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_090019').style.display='none'; document.getElementById('Code_Open_Image_090019').style.display='inline'; document.getElementById('Code_Open_Text_090019').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_090019" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_090019').style.display='none'; getElementById('Code_Closed_Image_090019').style.display='inline'; getElementById('Code_Closed_Text_090019').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_090019" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_090019"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Collections.Generic;<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Linq;<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web;<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.Mvc;<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.Mvc.Ajax;<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;MvcCompany.Models;<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Configuration;<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;MvcCompany.Controllers<br /></span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">19</span><span style="color: #000000"><img id="Codehighlighter1_229_1064_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_229_1064_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_229_1064_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_229_1064_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_229_1064_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_229_1064_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_229_1064_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_229_1064_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_229_1064_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_229_1064_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;NewsController&nbsp;:&nbsp;Controller<br /></span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_274_1061_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_274_1061_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_274_1061_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_274_1061_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_274_1061_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_274_1061_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_274_1061_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_274_1061_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_274_1061_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_274_1061_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">24</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">25</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />DataClassesDataContext&nbsp;DCDC;<br /></span><span style="color: #008080">26</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;pageSize;<br /></span><span style="color: #008080">28</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">29</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;NewsController()<br /></span><span style="color: #008080">30</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">31</span><span style="color: #000000"><img id="Codehighlighter1_347_514_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_347_514_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_347_514_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_347_514_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_347_514_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_347_514_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_347_514_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_347_514_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_347_514_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_347_514_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">32</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">33</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />DCDC&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DataClassesDataContext();<br /></span><span style="color: #008080">34</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">35</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />pageSize&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Convert.ToInt32(ConfigurationManager.AppSettings[</span><span style="color: #800000">"</span><span style="color: #800000">pagesize</span><span style="color: #800000">"</span><span style="color: #000000">]);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">每个页面的数量存放在web.config的appsetting里的pagesize节中，值为5</span><span style="color: #008000"><br /></span><span style="color: #008080">36</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000"><br /></span><span style="color: #008080">37</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">38</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">39</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ActionResult&nbsp;Index(</span><span style="color: #0000ff">int</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;page)<br /></span><span style="color: #008080">40</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">41</span><span style="color: #000000"><img id="Codehighlighter1_554_715_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_554_715_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_554_715_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_554_715_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_554_715_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_554_715_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_554_715_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_554_715_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_554_715_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_554_715_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">42</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">43</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />var&nbsp;NewsList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;DCDC.news.Select(newss</span><span style="color: #000000">=&gt;</span><span style="color: #000000">newss);<br /></span><span style="color: #008080">44</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">45</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />var&nbsp;paginatedNews&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;NewList</span><span style="color: #000000">&lt;</span><span style="color: #000000">news</span><span style="color: #000000">&gt;</span><span style="color: #000000">(NewsList,&nbsp;page&nbsp;</span><span style="color: #000000">??</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">,&nbsp;pageSize);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">实现分页功能</span><span style="color: #008000"><br /></span><span style="color: #008080">46</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000"><br /></span><span style="color: #008080">47</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;View(paginatedNews);<br /></span><span style="color: #008080">48</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">49</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">50</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">51</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />[AcceptVerbs(HttpVerbs.Post)]<br /></span><span style="color: #008080">52</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">53</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ActionResult&nbsp;Index(FormCollection&nbsp;formValues)<br /></span><span style="color: #008080">54</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">55</span><span style="color: #000000"><img id="Codehighlighter1_802_1058_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_802_1058_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_802_1058_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_802_1058_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_802_1058_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_802_1058_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_802_1058_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_802_1058_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_802_1058_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_802_1058_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">56</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">57</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;index&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">.Parse(formValues.GetValue(</span><span style="color: #800000">"</span><span style="color: #800000">pageindex</span><span style="color: #800000">"</span><span style="color: #000000">).AttemptedValue);<br /></span><span style="color: #008080">58</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">59</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;page&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;index&nbsp;</span><span style="color: #000000">??</span><span style="color: #800080">0</span><span style="color: #000000">&nbsp;;<br /></span><span style="color: #008080">60</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">61</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />var&nbsp;NewsList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;DCDC.news.Select(newss&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;newss);<br /></span><span style="color: #008080">62</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">63</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" />var&nbsp;paginatedNews&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;NewList</span><span style="color: #000000">&lt;</span><span style="color: #000000">news</span><span style="color: #000000">&gt;</span><span style="color: #000000">(NewsList,&nbsp;page,&nbsp;pageSize);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">实现分页功能</span><span style="color: #008000"><br /></span><span style="color: #008080">64</span><span style="color: #008000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000"><br /></span><span style="color: #008080">65</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;View(paginatedNews);<br /></span><span style="color: #008080">66</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">67</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">68</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">69</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">70</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">71</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">72</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">73</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></span></div>
<p>关于两个Index重载，我们在设计完Views再讨论。</p>
<p>5、 添加View。选中NewsController，右键，添加View，会弹出如下图：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image006_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/WindowsLiveWriter/ASP.NETMVP_10A13/clip_image006_thumb.jpg" width="365" height="434" /></a></p>
<p>在这里，我们选中MvcCompany.Models.news，在View content下拉列表中选择List（因为要实现列表分页）。</p>
<p>Index.aspx页面代码如下：</p>
<p><br /></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_090056" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_090056').style.display='none'; document.getElementById('Code_Open_Image_090056').style.display='inline'; document.getElementById('Code_Open_Text_090056').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_090056" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_090056').style.display='none'; getElementById('Code_Closed_Image_090056').style.display='inline'; getElementById('Code_Closed_Text_090056').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_090056" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_090056"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;&nbsp;1</span><img id="Codehighlighter1_2_162_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2_162_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2_162_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2_162_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_2_162_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2_162_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2_162_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2_162_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2_162_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_2_162_Open_Text"><span style="background-color: #f5f5f5; color: #000000">@&nbsp;Page&nbsp;Title</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">""</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">C#</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;MasterPageFile</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">~/Views/Shared/Site.Master</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Inherits</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">System.Web.Mvc.ViewPage&lt;MvcCompany.Models.NewList&lt;MvcCompany.Models.news&gt;&gt;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Content&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Content1"</span><span style="color: #ff0000">&nbsp;ContentPlaceHolderID</span><span style="color: #0000ff">="TitleContent"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />新闻<br /></span><span style="color: #008080">&nbsp;&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Content</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Content&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Content2"</span><span style="color: #ff0000">&nbsp;ContentPlaceHolderID</span><span style="color: #0000ff">="MainContent"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;10</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;11</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008000">&lt;!--</span><span style="color: #008000">前半部分</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;12</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;13</span><span style="color: #000000"><img id="Codehighlighter1_360_388_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_360_388_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_360_388_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_360_388_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_360_388_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_360_388_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_360_388_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_360_388_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_360_388_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_360_388_Open_Text"><span style="background-color: #f5f5f5; color: #000000">using&nbsp;(Html.BeginForm())<br /></span><span style="color: #008080">&nbsp;14</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;15</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />{&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;16</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;17</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h2</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;18</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;19</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />新闻列表</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h2</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;20</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;21</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">table</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;22</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;23</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;24</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;25</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;26</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;27</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />编号<br /></span><span style="color: #008080">&nbsp;28</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;29</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;30</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;31</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;32</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;33</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />题目<br /></span><span style="color: #008080">&nbsp;34</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;35</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;36</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;37</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;38</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;39</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />时间<br /></span><span style="color: #008080">&nbsp;40</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;41</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;42</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;43</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;44</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;45</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />内容<br /></span><span style="color: #008080">&nbsp;46</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;47</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">th</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;48</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;49</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;50</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;51</span><span style="color: #000000"><img id="Codehighlighter1_501_533_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_501_533_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_501_533_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_501_533_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_501_533_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_501_533_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_501_533_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_501_533_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_501_533_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_501_533_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;foreach&nbsp;(var&nbsp;item&nbsp;in&nbsp;Model)<br /></span><span style="color: #008080">&nbsp;52</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;53</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />{&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;54</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;55</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;56</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;57</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;58</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;59</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(item.ID)</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;60</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;61</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;62</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;63</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;64</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;65</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(item.title)</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;66</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;67</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;68</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;69</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;70</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;71</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(</span><span style="background-color: #f5f5f5; color: #0000ff">String</span><span style="background-color: #f5f5f5; color: #000000">.Format(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">{0:g}</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;item.datetimes))</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;72</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;73</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;74</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;75</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;76</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;77</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Html.Encode(item.contents)</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;78</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;79</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;80</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;81</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;82</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;83</span><span style="color: #000000"><img id="Codehighlighter1_756_759_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_756_759_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_756_759_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_756_759_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_756_759_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_756_759_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_756_759_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_756_759_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_756_759_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_756_759_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;}&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;84</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;85</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">table</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;86</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;87</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">hr&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;88</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;89</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008000">&lt;!--</span><span style="color: #008000">后半部分</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;90</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;91</span><span style="color: #000000"><img id="Codehighlighter1_796_852_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_796_852_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_796_852_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_796_852_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_796_852_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_796_852_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_796_852_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_796_852_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_796_852_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_796_852_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">Html.RouteLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">首页</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">UpcomingNews</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">new</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;{&nbsp;page&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #800080">0</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;})</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000">|<br /></span><span style="color: #008080">&nbsp;92</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;93</span><span style="color: #000000"><img id="Codehighlighter1_859_889_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_859_889_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_859_889_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_859_889_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_859_889_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_859_889_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_859_889_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_859_889_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_859_889_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_859_889_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">if</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;(Model.HasPreviousPage)<br /></span><span style="color: #008080">&nbsp;94</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;95</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />{</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;96</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;97</span><span style="color: #000000"><img id="Codehighlighter1_895_972_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_895_972_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_895_972_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_895_972_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_895_972_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_895_972_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_895_972_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_895_972_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_895_972_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_895_972_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">Html.RouteLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">上一页</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">UpcomingNews</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">new</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;{&nbsp;page&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;(Model.PageIndex&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">-</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #800080">1</span><span style="background-color: #f5f5f5; color: #000000">)&nbsp;})</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000">|<br /></span><span style="color: #008080">&nbsp;98</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">&nbsp;99</span><span style="color: #000000"><img id="Codehighlighter1_979_981_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_979_981_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_979_981_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_979_981_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_979_981_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_979_981_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_979_981_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_979_981_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_979_981_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_979_981_Open_Text"><span style="background-color: #f5f5f5; color: #000000">}&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">100</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">101</span><span style="color: #000000"><img id="Codehighlighter1_987_1013_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_987_1013_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_987_1013_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_987_1013_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_987_1013_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_987_1013_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_987_1013_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_987_1013_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_987_1013_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_987_1013_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">if</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;(Model.HasNextPage)<br /></span><span style="color: #008080">102</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif"  alt="" /><br /></span><span style="color: #008080">103</span><span style="background-color: #f5f5f5; color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />{</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">104</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">105</span><span style="color: #000000"><img id="Codehighlighter1_1019_1096_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1019_1096_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1019_1096_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1019_1096_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1019_1096_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1019_1096_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1019_1096_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1019_1096_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1019_1096_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1019_1096_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">Html.RouteLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">下一页</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">UpcomingNews</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">new</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;{&nbsp;page&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;(Model.PageIndex&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">+</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #800080">1</span><span style="background-color: #f5f5f5; color: #000000">)&nbsp;})</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000">|<br /></span><span style="color: #008080">106</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">107</span><span style="color: #000000"><img id="Codehighlighter1_1103_1105_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1103_1105_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1103_1105_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1103_1105_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1103_1105_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1103_1105_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1103_1105_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1103_1105_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1103_1105_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1103_1105_Open_Text"><span style="background-color: #f5f5f5; color: #000000">}&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">108</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">109</span><span style="color: #000000"><img id="Codehighlighter1_1111_1184_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1111_1184_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1111_1184_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1111_1184_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1111_1184_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1111_1184_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1111_1184_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1111_1184_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1111_1184_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1111_1184_Open_Text"><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">Html.RouteLink(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">尾页</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">UpcomingNews</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">new</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;{&nbsp;page&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Model.PageSize&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">-</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #800080">1</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;})</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #ff0000">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</span><span style="color: #000000"><br /></span><span style="color: #008080">110</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">111</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" />第<br /></span><span style="color: #008080">112</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">113</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">Html.TextBox(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">pageindex</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;Model.PageIndex,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">new</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;{style</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">width:30px;</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">})</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000">页</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input<br /></span><span style="color: #008080">114</span><span style="color: #800000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">115</span><span style="color: #800000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #ff0000">type</span><span style="color: #0000ff">="submit"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="转到"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="sub"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">116</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">117</span><span style="color: #000000"><img id="Codehighlighter1_1368_1370_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1368_1370_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1368_1370_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1368_1370_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1368_1370_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1368_1370_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1368_1370_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1368_1370_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1368_1370_Closed_Text"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1368_1370_Open_Text"><span style="background-color: #f5f5f5; color: #000000">}&nbsp;</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">118</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">119</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Content</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">120</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /><br /></span><span style="color: #008080">121</span><span style="color: #000000"><img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif"  alt="" /></span></span></div>
<p>代码的前半部分，很好理解。</p>
<p>代码的后半部分，我们来分析一下，首页，是采用</p>
<p>Html.RouteLink(&#8220;首页&#8221;,&#8221;UpcomingNews&#8221;,new{ page=0})，是要定位到名称为&#8221;UpcomingNews&#8221;的路由，这个路由在Global.asax中，代码如下：</p>
<p>routes.MapRoute(</p>
<p>"UpcomingNews",</p>
<p>"News/page/{page}",</p>
<p>new { controller = "News", action = "Index" });</p>
<p>路由的名称是&#8221;UpcominNews&#8221;，Url格式是News/page/{page}，News和page是url的一种格式，后面{page}是参数，这个参数的名称要与View中，后半部分的new{page=0}的page，以及NewsController中的方法Index(int? page)中的page都必需统一。如果有请求</p>
<p>News/page/2的url，实际上请求的是 news?page=2的页网（路由在ASP.NET MVC官上有说明）。</p>
<p>首页为中的page=0，最终会成为NesController中Index(int? page)方法，的实参，返回首页数据（及数据库表的前5条数据）。</p>
<p>上一页，在当前页数PageIndex的基础上减1。</p>
<p>下一页，在当前页数PageIndex的基础上加1</p>
<p>（注：上面的加减1都不会越界，因为当显示第一页时，&#8220;上一页&#8221;的超连接就不会显示。当最后一页时，&#8220;下一页&#8221;的超连接就不会显示）</p>
<p>尾页同首页。</p>
<p>现在的一个问题是&#8220;转到&#8221;第几页的实现，我们知道，转到第几页的&#8220;几&#8221;，得用户输入，所以这里用一个Html.TextBox来实现，完全代码是</p>
<p>&lt;%=Html.TextBox("pageindex", Model.PageIndex, new {style="width:30px;"})%&gt;</p>
<p>最终会生成一个名称为pageindex的intup，类型为Text，它的值始终为当前的索引页值Model.PageIndex，其中有一个宽度的属性new {style="width:30px;"}。</p>
<p>同时还有一个&lt;input type="submit" value="转到" id="sub" /&gt;用来向后参提交。因为代码中有&lt;form&gt;表单，所以可以在NewsController中接收这个提交。</p>
<p>Index(FormCollection formValues)方法用来处理这个提交。这里会从formValues.GetValue("pageindex").AttemptedValue中午到客户端用户输入&#8220;pageindex&#8221;文本框中的值。从而来完成定向。</p>
<p>至此，我们就用ASP.NET MVC实现了一个分页功能，相比之下要难ASP.NET的GridView自动分页好多。</p>
<p>在这个例子中，我们在Models层中提供了实体类及news表的集合类。在Controller层增加了NewsController类。在View层增加了News的view，从M-V-C角度，分别完成了对分页的功能。</p><img src="http://www.cnblogs.com/axzxs2001/aggbug/1562757.html?type=1" width="1" height="1" alt=""/><p>评论: 14　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/09/08/1562757.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/axzxs2001/archive/2009/09/08/1562757.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56833/" target="_blank">冷静，社交游戏！</a><span style="color:gray">(2010-02-10 13:38)</span><br/>· <a href="http://news.cnblogs.com/n/56834/" target="_blank">百度新宠：网络视频</a><span style="color:gray">(2010-02-10 13:37)</span><br/>· <a href="http://news.cnblogs.com/n/56832/" target="_blank">国产软件的“拿来主义”：开源软件、主导权</a><span style="color:gray">(2010-02-10 13:26)</span><br/>· <a href="http://news.cnblogs.com/n/56831/" target="_blank">谷姐瘫痪 发公开信称已遭黑客攻击5天</a><span style="color:gray">(2010-02-10 13:21)</span><br/>· <a href="http://news.cnblogs.com/n/56829/" target="_blank">.NET Reflector即将商业化</a><span style="color:gray">(2010-02-10 13:08)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>