<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_I Belive I Can</title><subtitle type="text">现在的梦想就是和你一起到老</subtitle><id>http://feed.cnblogs.com/blog/u/8018/rss</id><updated>2011-12-24T05:46:09Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/8018/rss"/><entry><id>http://www.cnblogs.com/inday/archive/2010/12/15/1906366.html</id><title type="text">怪叔叔 一路走好 下辈子我们再一起玩KOF</title><summary type="text">致各位喜欢《星尘佣兵》、《暗夜君王》、《卡南之书》（最后这本大概只有我喜欢……）的读者们。 谢谢各位一直关注着星尘。但不得不遗憾的告诉各位，从今天开始，本书将不再更新。 今晨零点，作者永远下线了。 今后的星尘也许会再次闪耀，但不再会由晨星手中落下。 语无伦次，不忍落键，再次向各位喜爱星尘的读者们，表示感谢。                           ——拂晓晨星的朋友  心情很沉重，曾经的好友，同事一起奋斗的朋友-拂晓晨星 于2010年12月15日凌晨12点30分去世。不知道该说什么，虽说我们一直叫他怪叔叔，可年纪其实比我只大2，3岁，因为满头的白发，我们戏称他为怪叔叔。  我影响里</summary><published>2010-12-15T02:22:00Z</published><updated>2010-12-15T02:22:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/12/15/1906366.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/12/15/1906366.html"/><content type="html">&lt;p&gt;致各位喜欢《&lt;a href="http://book.zongheng.com/book/36887.html" target="_blank"&gt;星尘佣兵&lt;/a&gt;》、《&lt;a href="http://www.jjwxc.net/onebook.php?novelid=778753" target="_blank"&gt;暗夜君王&lt;/a&gt;》、《&lt;a href="http://wenku.baidu.com/view/a28bead8d15abe23482f4d0e.html" target="_blank"&gt;卡南之书&lt;/a&gt;》（最后这本大概只有我喜欢……）的读者们。     &lt;br /&gt;谢谢各位一直关注着星尘。但不得不遗憾的告诉各位，从今天开始，本书将不再更新。     &lt;br /&gt;今晨零点，作者永远下线了。     &lt;br /&gt;今后的星尘也许会再次闪耀，但不再会由晨星手中落下。     &lt;br /&gt;语无伦次，不忍落键，再次向各位喜爱星尘的读者们，表示感谢。 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ——拂晓晨星的朋友&lt;/p&gt;  &lt;p&gt;心情很沉重，曾经的好友，同事一起奋斗的朋友-&lt;a href="http://www.17k.com/promotion/FXCX/FXCX.html" target="_blank"&gt;拂晓晨星&lt;/a&gt; 于2010年12月15日凌晨12点30分去世。不知道该说什么，虽说我们一直叫他怪叔叔，可年纪其实比我只大2，3岁，因为满头的白发，我们戏称他为怪叔叔。&lt;/p&gt;  &lt;p&gt;我影响里，怪叔叔不太注重自己，说话也不像其他作者文绉绉的，跟大家关系都非常好。还特爱玩游戏，那时候在公司的时候，我们经常下班了，一起玩上个几盘，虽然不是我对手吧，但也凑活，现在想想还清晰的记着他的陈可汗和小矮子，呵呵。&lt;/p&gt;  &lt;p&gt;跟怪叔叔分开将近3年了，1年多前听说住院了，一直想去看他，可后来听同事说，一直没确诊什么病，后来也回家了，没想到半年多没音讯，这次听到的是这个噩耗。&lt;/p&gt;  &lt;p&gt;我是个不爱看书的人，没看过怪叔叔的书，不过我知道怪叔叔那时候很红，写的几本书都很畅销，我不知道这里是否有他的粉丝，我决定去看怪叔叔的几本书，虽然是没有结局的书。。。。。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://book.zongheng.com/book/36887.html"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1285716752771[1]" border="0" alt="1285716752771[1]" src="http://images.cnblogs.com/cnblogs_com/inday/201012/20101215102227116.jpg" width="122" height="157" /&gt;&lt;/a&gt; &lt;a href="http://www.jjwxc.net/onebook.php?novelid=778753"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="cn_s_1_1341[1]" border="0" alt="cn_s_1_1341[1]" src="http://images.cnblogs.com/cnblogs_com/inday/201012/201012151022272592.jpg" width="118" height="160" /&gt;&lt;/a&gt; &lt;a href="http://wenku.baidu.com/view/a28bead8d15abe23482f4d0e.html"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="12554845347418[1]" border="0" alt="12554845347418[1]" src="http://images.cnblogs.com/cnblogs_com/inday/201012/201012151022277019.jpg" width="116" height="161" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/inday/aggbug/1906366.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/12/15/1906366.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2010/12/09/1901615.html</id><title type="text">JQuery.JCShare 0.2 发布（加入弹窗功能）</title><summary type="text">周末没事，就在家里改进了下JCShare这个插件，此次加入了弹窗功能。  先说明下，JCShare的名字纯属是自己的英文名和老婆的英文名第一个字母，并无其他含义：）  弹窗的属性：popupModel...</summary><published>2010-12-09T13:14:00Z</published><updated>2010-12-09T13:14:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/12/09/1901615.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/12/09/1901615.html"/><content type="html">&lt;p&gt;周末没事，就在家里改进了下JCShare这个插件，此次加入了弹窗功能。&lt;/p&gt;  &lt;p&gt;先说明下，JCShare的名字纯属是自己的英文名和老婆的英文名第一个字母，并无其他含义：）&lt;/p&gt;  &lt;p&gt;弹窗的属性：popupModel 有3个值，分别为：&lt;/p&gt;  &lt;p&gt;window：弹窗（window.open）    &lt;br /&gt;link：链接方式     &lt;br /&gt;showdialog：模态对话框（window.showModalDialog）&lt;/p&gt;  &lt;p&gt;-------------------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;简单说点原理：&lt;/p&gt;  &lt;p&gt;分享组建目的是把页面的内容，发布到各大网站去，很多网站都提供了此类的接口，像&lt;a href="http://t.sina.com.cn/jamesying" target="_blank"&gt;新浪微薄&lt;/a&gt;，&lt;a href="http://t.qq.com" target="_blank"&gt;QQ微薄&lt;/a&gt;都有自己的API文档，然后申请一个Appkey，这样可以在发布后，他们能确定来源。&lt;/p&gt;  &lt;p&gt;我们只需要利用title, url, content拼接成对应的url，即可把所需的内容发布过去。比如开心网的分享接口地址是：    &lt;br /&gt;&lt;a title="http://www.kaixin001.com/repaste/share.php" href="http://www.kaixin001.com/repaste/share.php"&gt;http://www.kaixin001.com/repaste/share.php&lt;/a&gt;     &lt;br /&gt;它接收3个参数，rtitle、rurl、rcontent，拼接上去就ok了。&lt;/p&gt;  &lt;p&gt;这东西挺简单的，大家随便看看 随便改改吧 哈。&lt;/p&gt;  &lt;p&gt;PS：金婚风雨情蛮好看的，适合我们80后，嘿。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://files.cnblogs.com/inday/JQuery.JCShare0.2.rar" target="_blank"&gt;JQuery.JCShare0.2下载&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/inday/aggbug/1901615.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/12/09/1901615.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2010/12/01/jquery-jcshare-0-1.html</id><title type="text">JQuery JCshare 0.1 分享插件</title><summary type="text">一、介绍： &amp;#160;&amp;#160;&amp;#160; 现在各类SNS网站、微博等都开设了分享接口，可以让你的咨询更快、更有效的通过用户分享给其好友，外面也有很多一键式的分享控件。我们公司网站（巴士国旅）为...</summary><published>2010-12-01T03:46:00Z</published><updated>2010-12-01T03:46:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/12/01/jquery-jcshare-0-1.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/12/01/jquery-jcshare-0-1.html"/><content type="html">&lt;p&gt;一、介绍：    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 现在各类SNS网站、微博等都开设了分享接口，可以让你的咨询更快、更有效的通过用户分享给其好友，外面也有很多一键式的分享控件。我们公司网站（&lt;a href="http://www.sh-bus.com" target="_blank"&gt;巴士国旅&lt;/a&gt;）为了让用户及其好友更快分享到我们巴士的特价线路，自己研究了下，写了个简单的JQery插件，现在完全开源，方便大家扩展。原理很简单，拼接了分享接口的url，很多一键式控件是弹窗类型的，我这里做成链接形式，或许后面一个版本，会加入弹窗类型，暂时先这样吧，用下来还不错，欢迎大家拍砖。 &lt;/p&gt;  &lt;p&gt;二、目录介绍：    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; |-----scripts&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 脚本     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; |------jquery-1.3.2.min.js&amp;#160;&amp;#160;&amp;#160; jquery 1.3.2     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; |------jquery.jcshare.js&amp;#160;&amp;#160;&amp;#160; 分享插件     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; |-----styles&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 样式     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; |------jcshare.css&amp;#160;&amp;#160;&amp;#160; 分享样式     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; |------share.gif&amp;#160;&amp;#160;&amp;#160; 背景图片     &lt;br /&gt;三、安装：     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 1、链接样式     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 2、链接jquery和分享插件的js文件     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 3、在$(document).ready(function(){})中 调用分享插件：     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $(document).share({     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; title: document.title + &amp;quot;-James.Ying-巴士国旅&amp;quot;,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; content: &amp;quot;更多旅游线路尽在巴士国旅&amp;quot;,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; url: document.URL     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 第一版中，只支持title，content，url，稍后会加入图片，现在也仅支持链接方式，弹窗以后再加了。     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 4、分享链接：     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a href=&amp;quot;javascript:void(0);&amp;quot; title=&amp;quot;把此线路分享到开心网&amp;quot; class=&amp;quot;share share_kaixin&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/a&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a href=&amp;quot;javascript:void(0);&amp;quot; title=&amp;quot;把此线路分享到新浪微博&amp;quot; class=&amp;quot;share share_sina&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/a&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a href=&amp;quot;javascript:void(0);&amp;quot; title=&amp;quot;把此线路分享到豆瓣网&amp;quot; class=&amp;quot;share share_douban&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/a&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a href=&amp;quot;javascript:void(0);&amp;quot; title=&amp;quot;把此线路分享到人人网&amp;quot; class=&amp;quot;share share_renren&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/a&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a href=&amp;quot;javascript:void(0);&amp;quot; title=&amp;quot;把此线路分享到腾讯微博&amp;quot; class=&amp;quot;share share_qq&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/a&amp;gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 使用了Jquery的选择器，如果对应的class改变的话，请在初始分享插件时，也把对应的class赋值，具体看代码。&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sh-bus.com/Line/Detail/2149" target="_blank"&gt;点击查看示例代码&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://files.cnblogs.com/inday/jquery.jcshare.0.1.rar" target="_blank"&gt;分享插件下载&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/inday/aggbug/1893215.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/12/01/jquery-jcshare-0-1.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2010/11/23/hello-iphone4.html</id><title type="text">嘿嘿 抢到了iphone4</title><summary type="text">老婆一直叫着要，可又没时间去香港，停她同事说可以在官网预定，不过要抢的，而且开放的时间未定纠结啊 ，总不能一直在上面刷吧，于是乎，做了个小软件，一直在那边刷，终于，功夫不负有心人啊，今天让我抢到了 哈哈哈。一下子抢了3台，可惜没钱付啊，先预定着再说吧，吼吼</summary><published>2010-11-23T03:16:00Z</published><updated>2010-11-23T03:16:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/11/23/hello-iphone4.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/11/23/hello-iphone4.html"/><content type="html">老婆一直叫着要，可又没时间去香港，停她同事说可以在官网预定，不过要抢的，而且开放的时间未定&#xD;
&#xD;
纠结啊 ，总不能一直在上面刷吧，于是乎，做了个小软件，一直在那边刷，终于，功夫不负有心人啊，今天让我抢到了 哈哈哈。&#xD;
&#xD;
一下子抢了3台，可惜没钱付啊，先预定着再说吧，吼吼&#xD;
&#xD;
&#xD;
&lt;img src="http://www.cnblogs.com/inday/aggbug/1885222.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/11/23/hello-iphone4.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2010/06/27/1766038.html</id><title type="text">用ecto发布一下博文</title><summary type="text">老是要切换到win7来写博客，太吃力了，找了一下，果然找到一款ecto，看了介绍，非常优秀的博客客户段，不错不错，先测试一下</summary><published>2010-06-27T02:18:00Z</published><updated>2010-06-27T02:18:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/06/27/1766038.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/06/27/1766038.html"/><content type="html">&lt;p&gt;老是要切换到win7来写博客，太吃力了，找了一下，果然找到一款ecto，看了介绍，非常优秀的博客客户段，不错不错，先测试一下&lt;/p&gt;
&lt;img src="http://www.cnblogs.com/inday/aggbug/1766038.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/06/27/1766038.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2010/06/25/1765187.html</id><title type="text">更新自己，不要影响其他人</title><summary type="text">最近围绕着c++和C#的讨论越来越激烈，firelong努力着证明自己的观点，园子里一些大大们也在激烈的辩证着，作为小鸟的我，旁观，看看一笑而过吧。  其实无论哪种语言，肯定有它的优势和劣势，我们何必...</summary><published>2010-06-25T07:01:00Z</published><updated>2010-06-25T07:01:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/06/25/1765187.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/06/25/1765187.html"/><content type="html">&lt;p&gt;最近围绕着c++和C#的讨论越来越激烈，firelong努力着证明自己的观点，园子里一些大大们也在激烈的辩证着，作为小鸟的我，旁观，看看一笑而过吧。&lt;/p&gt;  &lt;p&gt;其实无论哪种语言，肯定有它的优势和劣势，我们何必去争个你死我活呢？我承认firelong有些观点正确，但这些会影响我们吗？我相信有一定基础的程序员，都不会去在意，因为我们选择的不仅仅是语言，或许还有更多，如果单单靠某些人的一些观点，我们就改变了，那也太没立场了，变成墙头草了不是？&lt;/p&gt;  &lt;p&gt;但我很喜欢看这种讨论，因为firelong把自己的观点，例子举了出来，而不是理论上的进行驳斥，这种文章看出来是作者用心实践过的，我们应该支持，对于那种没有实践，只是一再的崇拜或者诋毁的人，出来就是辱骂的，大家一起来鄙视下吧。&lt;/p&gt;  &lt;p&gt;今天不是为了参与讨论，正好今天遇到了个问题（其实一直懒得解决），符合了标题，随便说说，说的难听了，大家见谅，笑笑而过吧。&lt;/p&gt;  &lt;p&gt;问题其实很简单，更新静态变量的值，而这个值呢，又是从linq to sql中获取的，大概的结构如下：&lt;/p&gt;  &lt;pre style="background: black" &gt;&lt;span style="background: black; color: white"&gt;    &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;public class &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;MyConfig&#xD;
    &lt;/span&gt;&lt;span style="background: black; color: white"&gt;{&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;private static &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;DataLoader &lt;/span&gt;&lt;span style="background: black; color: white"&gt;s_loader;&#xD;
&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;static &lt;/span&gt;&lt;span style="background: black; color: white"&gt;MyConfig()&#xD;
        {&#xD;
            s_loader = &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;new &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;DataLoader&lt;/span&gt;&lt;span style="background: black; color: white"&gt;();&#xD;
        }&#xD;
&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;public static &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;List&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Company&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;gt; AllCompanies&#xD;
        {&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;get&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: white"&gt;{&#xD;
                &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;return &lt;/span&gt;&lt;span style="background: black; color: white"&gt;s_loader.GetAllCompanies();&#xD;
            }&#xD;
        }&#xD;
&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;public static &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;List&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;MyType&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;gt; AllTypes&#xD;
        {&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;get&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: white"&gt;{&#xD;
                &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;return &lt;/span&gt;&lt;span style="background: black; color: white"&gt;s_loader.GetAllTypes();&#xD;
            }&#xD;
        }&#xD;
    }&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;简单的一个获取配置信息的一个类（这是举例用的，实际使用中并不是这样）。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;DataLoader 是与数据库相关的一个操作类，主要是通过linq to sql 来获取数据库中的信息。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;代码：&lt;/p&gt;&#xD;
&#xD;
&lt;pre style="background: black" &gt;&lt;span style="background: black; color: #cc7832"&gt;public class &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;DataLoader&#xD;
    &lt;/span&gt;&lt;span style="background: black; color: white"&gt;{&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;public &lt;/span&gt;&lt;span style="background: black; color: white"&gt;DataLoader()&#xD;
        {&#xD;
&lt;/span&gt;&lt;span style="background: black; color: white"&gt;        }&#xD;
&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;DataClasses1DataContext &lt;/span&gt;&lt;span style="background: black; color: white"&gt;context = &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;new &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;DataClasses1DataContext&lt;/span&gt;&lt;span style="background: black; color: white"&gt;();&#xD;
&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;internal &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;List&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;MyType&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;gt; GetAllTypes()&#xD;
        {&#xD;
            &#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;return &lt;/span&gt;&lt;span style="background: black; color: white"&gt;context.MyType.ToList();&#xD;
        }&#xD;
&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;internal &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;List&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Company&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;gt; GetAllCompanies()&#xD;
        {&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;return &lt;/span&gt;&lt;span style="background: black; color: white"&gt;context.Company.ToList();&#xD;
        }&#xD;
    }&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;代码丑了点，见谅见谅，主要的目的只有2个，获取所有类型和获取所有公司。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;实际运用在了web项目中，又有另外一个后台专门来修改数据，这时候就出现了一个问题，默认情况下，linq to sql 会从缓存中获取数据。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;操作步骤如下：循环读取MyType-》无论利用什么方法，修改数据库的MyType值-》再次读取。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;因为用了命令行项目来实验的，那必须修改前和修改后都不能关闭命令行程序。以下简单的测试代码：&lt;/p&gt;&#xD;
&#xD;
&lt;pre style="background: black" &gt;&lt;span style="background: black; color: white"&gt;        &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;static void &lt;/span&gt;&lt;span style="background: black; color: white"&gt;Main(&lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;string&lt;/span&gt;&lt;span style="background: black; color: white"&gt;[] args)&#xD;
        {&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;var &lt;/span&gt;&lt;span style="background: black; color: white"&gt;key = &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;String&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.Empty;&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;while &lt;/span&gt;&lt;span style="background: black; color: white"&gt;(key != &lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot;quit&amp;quot;&lt;/span&gt;&lt;span style="background: black; color: white"&gt;)&#xD;
            {&#xD;
                key = &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.ReadLine();&#xD;
                &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;MyConfig&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.AllTypes.ForEach(c =&amp;gt; &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.WriteLine(c.Title));&#xD;
                &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;MyConfig&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.AllCompanies.ForEach(c =&amp;gt; &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.WriteLine(c.Name));&#xD;
            }&#xD;
&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.WriteLine(&lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot;program to quit...&amp;quot;&lt;/span&gt;&lt;span style="background: black; color: white"&gt;);&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: gray"&gt;//Console.ReadLine();&#xD;
        &lt;/span&gt;&lt;span style="background: black; color: white"&gt;}&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;测试很简单，只要不输入quit，每次都会输出类型标题和公司名称。看下前后结果：&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_thumb.png" width="232" height="208" /&gt;&lt;/a&gt; （修改前读取的数据）&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_thumb_1.png" width="127" height="74" /&gt;&lt;/a&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_thumb_3.png" width="97" height="72" /&gt;&lt;/a&gt; （利用Sql Manager Studio修改数据）&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_thumb_4.png" width="178" height="174" /&gt;&lt;/a&gt; （修改后读取的数据）&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;看到了，这就是linq to sql 的缓存造成的结果，为了避免这个情况，我们可以使用以下方法：&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;1、把DataContext.ObjectTrackingEnabled属性设置为false &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 因为linq to sql获取数据缓存的时候，先检索标识是否改变，如果未改变，则会用缓存中的数据。而ObjectTrackingEnabled设为false后，会关闭标识管理和变化跟踪，那样每次获取都会是最新的数据。（以下是重新测试结果，测试前数据恢复）&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_thumb_5.png" width="202" height="132" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; ----&amp;#160;&amp;#160; &lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_thumb_6.png" width="164" height="136" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;目的是达到了，我们知道关闭ObjectTrackingEnabled属性，是一个好的提升性能的方式，但有时候也会造成一定的麻烦，比如更新、比如我要获取一对多，多对多的对象时。（其实是自己一开始没注意到，等改了以后发现项目中。。。。已经惨不忍睹了，绿一下自己）。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;2、DataContext.Refresh方法。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 使用指定方法刷新实体对象（摘自msdn）。使用它以后，我能更新自己，而不影响其他人了。Refresh的方法，大家可以看msdn，我就写下代码吧，代码只修改了获取类型的方法。&lt;/p&gt;&#xD;
&#xD;
&lt;pre style="background: black" &gt;&lt;span style="background: black; color: #cc7832"&gt;internal &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;List&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;MyType&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;gt; GetAllTypes()&#xD;
        {&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;var &lt;/span&gt;&lt;span style="background: black; color: white"&gt;types = context.MyType.ToList();&#xD;
&#xD;
            context.Refresh(&lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;RefreshMode&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.KeepChanges, types);&#xD;
&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;return &lt;/span&gt;&lt;span style="background: black; color: white"&gt;types;&#xD;
        }&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;我们再测试下（数据恢复先，直接上结果了）：&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_16.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/7c924acdd1e2_CA90/image_thumb_7.png" width="148" height="145" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;实验成功，获取到了最新的MyType值，而公司的值则是修改前的，当然在程序下次运行的时候，就会变成最新的了。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;3、重新实例化DataContext。（不说了）&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;以上东东纯属乱写，只是自己遇到的一个问题，可能写的不好，大家也不要拼命砸砖哦。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;再说说最近的激辩吧，大家也不要辩论什么了，只要做好自己，努力提高自己就好，我们在实际应用中，会遇到许许多多的项目，每个项目的开始，都会商量好用什么语言来写，什么框架来建，不要为了哪个语言好哪个语言不好去争个不休，每个项目都会有不同的需求，用最适合的而不是用最好的，那就行了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/inday/aggbug/1765187.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/06/25/1765187.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2010/06/21/1761811.html</id><title type="text">Enumerable#Zip 实现一下</title><summary type="text">早上看到“geff Zhang”介绍了Enumerable#Zip，闲来没事弄一个实现。  也谈不上思路，看了张兄的测试代码，先写了个简单的结构：  有了结构，实现就简单多了。张兄在文中介绍到“方法将...</summary><published>2010-06-21T03:25:00Z</published><updated>2010-06-21T03:25:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/06/21/1761811.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/06/21/1761811.html"/><content type="html">&lt;p&gt;早上看到“&lt;a href="http://www.cnblogs.com/shanyou/" target="_blank"&gt;geff Zhang&lt;/a&gt;”介绍了&lt;a href="http://www.cnblogs.com/shanyou/archive/2010/06/20/1761607.html" target="_blank"&gt;Enumerable#Zip&lt;/a&gt;，闲来没事弄一个实现。&lt;/p&gt;  &lt;p&gt;也谈不上思路，看了张兄的测试代码，先写了个简单的结构：&lt;/p&gt;  &lt;pre style="background: black" &gt;&lt;span style="background: black; color: #cc7832"&gt;public static &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;IEnumerable&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TResult&amp;gt; Zip&amp;lt;TFirst, TSencond, TResult&amp;gt;(&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;this &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;IEnumerable&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TFirst&amp;gt; first, &#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;IEnumerable&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TSencond&amp;gt; sencond, &#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;Func&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TFirst, TSencond, TResult&amp;gt; func)&#xD;
        {&#xD;
            &#xD;
        }&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;有了结构，实现就简单多了。张兄在文中介绍到“&lt;font color="#ff0000"&gt;方法将第一个序列中的每个元素与第二个序列中有相同索引的元素合并。如果该序列不具有相同数目的元素，则直到它到达其中一个的末尾，该方法才合并序列。例如，如果一个序列有三个元素，另一个序列具有四个元素，那么结果序列将只有三个元素&lt;/font&gt;。”&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;要读到两个序列的各个元素，按照相同索引的元素，执行func，原先想想用foreach，for之类的，好像有点麻烦，为了简单，就直接转换成IEnumerator。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;上代码，大家看了就明白了：&lt;/p&gt;&#xD;
&#xD;
&lt;pre style="background: black" &gt;&lt;span style="background: black; color: #cc7832"&gt;public static &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;IEnumerable&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TResult&amp;gt; Zip&amp;lt;TFirst, TSencond, TResult&amp;gt;(&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;this &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;IEnumerable&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TFirst&amp;gt; first, &#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;IEnumerable&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TSencond&amp;gt; sencond, &#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;Func&lt;/span&gt;&lt;span style="background: black; color: white"&gt;&amp;lt;TFirst, TSencond, TResult&amp;gt; func)&#xD;
        {&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;var &lt;/span&gt;&lt;span style="background: black; color: white"&gt;firsttor = first.GetEnumerator();&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;var &lt;/span&gt;&lt;span style="background: black; color: white"&gt;sencondtor = sencond.GetEnumerator();&#xD;
&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;while &lt;/span&gt;&lt;span style="background: black; color: white"&gt;(firsttor.MoveNext())&#xD;
            {&#xD;
                &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;if &lt;/span&gt;&lt;span style="background: black; color: white"&gt;(sencondtor.MoveNext())&#xD;
                {&#xD;
                    &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;yield return &lt;/span&gt;&lt;span style="background: black; color: white"&gt;func(firsttor.Current, sencondtor.Current);&#xD;
                }&#xD;
            }&#xD;
        }&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;随便写的，也没在意性能方面，等大家一起讨论下好了。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;附上测试代码：&lt;/p&gt;&#xD;
&#xD;
&lt;pre style="background: black" &gt;&lt;span style="background: black; color: #cc7832"&gt;int&lt;/span&gt;&lt;span style="background: black; color: white"&gt;[] numberic = &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;new int&lt;/span&gt;&lt;span style="background: black; color: white"&gt;[] { &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;1&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;2&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;3&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;4 &lt;/span&gt;&lt;span style="background: black; color: white"&gt;};&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;string&lt;/span&gt;&lt;span style="background: black; color: white"&gt;[] words = &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;new string&lt;/span&gt;&lt;span style="background: black; color: white"&gt;[] { &lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot;b&amp;quot;&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot;c&amp;quot;&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot;d&amp;quot; &lt;/span&gt;&lt;span style="background: black; color: white"&gt;};&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;int&lt;/span&gt;&lt;span style="background: black; color: white"&gt;[] numbericDiff = &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;new int&lt;/span&gt;&lt;span style="background: black; color: white"&gt;[] { &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;1&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;2&lt;/span&gt;&lt;span style="background: black; color: white"&gt;, &lt;/span&gt;&lt;span style="background: black; color: #6897bb"&gt;3 &lt;/span&gt;&lt;span style="background: black; color: white"&gt;};&#xD;
&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;var &lt;/span&gt;&lt;span style="background: black; color: white"&gt;result = numberic.Zip(words, (a, b) =&amp;gt; a + &lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot; &amp;quot; &lt;/span&gt;&lt;span style="background: black; color: white"&gt;+ b);&#xD;
&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;foreach &lt;/span&gt;&lt;span style="background: black; color: white"&gt;(&lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;var &lt;/span&gt;&lt;span style="background: black; color: white"&gt;r &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;in &lt;/span&gt;&lt;span style="background: black; color: white"&gt;result)&#xD;
            {&#xD;
                &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.WriteLine(r);&#xD;
            }&#xD;
&#xD;
            result = numbericDiff.Zip(words, (a, b) =&amp;gt; a + &lt;/span&gt;&lt;span style="background: black; color: #a5c25c"&gt;&amp;quot; &amp;quot; &lt;/span&gt;&lt;span style="background: black; color: white"&gt;+ b);&#xD;
&#xD;
            &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;foreach &lt;/span&gt;&lt;span style="background: black; color: white"&gt;(&lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;var &lt;/span&gt;&lt;span style="background: black; color: white"&gt;r &lt;/span&gt;&lt;span style="background: black; color: #cc7832"&gt;in &lt;/span&gt;&lt;span style="background: black; color: white"&gt;result)&#xD;
            {&#xD;
                &lt;/span&gt;&lt;span style="background: black; color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="background: black; color: white"&gt;.WriteLine(r);&#xD;
            }&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;结果：&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/EnumerableZip_96D1/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/EnumerableZip_96D1/image_thumb.png" width="230" height="121" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;PS：推一个旅游网站，大家工作之余也要放松自己嘛。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://www.sh-bus.com"&gt;http://www.sh-bus.com&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/inday/aggbug/1761811.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/06/21/1761811.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2010/03/23/1692382.html</id><title type="text">无尽的忙碌换来幸福的日子</title><summary type="text">人总是忙碌的，从小要读书，长大了工作，结婚了，有孩子了，一辈子也可能等到孩子成家了才能稍微休息一下下吧，不过有时候想想，忙碌点好，一辈子也就那么长，等闭了后还能休息好久好久呢，何不忙碌点呢。  从过年...</summary><published>2010-03-23T03:39:00Z</published><updated>2010-03-23T03:39:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2010/03/23/1692382.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2010/03/23/1692382.html"/><content type="html">&lt;p&gt;人总是忙碌的，从小要读书，长大了工作，结婚了，有孩子了，一辈子也可能等到孩子成家了才能稍微休息一下下吧，不过有时候想想，忙碌点好，一辈子也就那么长，等闭了后还能休息好久好久呢，何不忙碌点呢。&lt;/p&gt;  &lt;p&gt;从过年以后，一直忙碌着，忙撒呢，上班忙新网站改版，下班忙结婚，周末也忙结婚，几乎一天都没有消停过，老婆无数次问我累不累，我说不累，再累也觉得幸福，嘿嘿。&lt;/p&gt;  &lt;p&gt;感叹了一下，好久也没来了，最近工作上呢刚赶出来一个改版，用了Asp.Net MVC 目的也是学习下，因为周期比较紧张，本想好好研究的，都没有时间，到后来也就破罐子破摔了。今天献丑，说上一段。&lt;/p&gt;  &lt;p&gt;我们平时在做Asp.Net MVC（以下就简称mvc）项目的时候，页面文件结构都用了“/Views/Controllers/page.aspx”，而把一些PartialView呢放在/Views/Shared 目录下面，但如果PartialView越来越多了呢。。。。如果其中还混杂着几个MasterPage，几个Error.aspx。。。。这个目录看起来就。。。。。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/933e96807c23_8B4C/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/933e96807c23_8B4C/image_thumb.png" width="239" height="181" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;O my lady gaga！忒难看了，如果多了以后那更难看了。。。。。&lt;/p&gt;  &lt;p&gt;为了看起来好看点，我准备分目录存放，我的目标是：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/933e96807c23_8B4C/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/inday/WindowsLiveWriter/933e96807c23_8B4C/image_thumb_2.png" width="244" height="238" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;打开Home\Index.asp文件，放一个Login的PartialView吧。先运行一下看看吧。。。一定肯定以及确定不能运行，因为我们的mvc根本没有找到所需的文件，错误信息“&lt;i&gt;The partial view 'xxx' was not found&lt;/i&gt;”。&lt;/p&gt;  &lt;p&gt;我们知道mvc在查找文件的时候，会到2个目录下查找，一个是Controller目录，一个就是Shared目录，寻找Action.aspx或者Action.ascx，我们看下源代码（我下载的是&lt;a href="http://www.asp.net/mvc" target="_blank"&gt;asp.net mvc rc2&lt;/a&gt;)，通过查看源代码，得知查找View或者PartialView都是通过IViewEngine.FindView和IViewEngine.FindPartialView来查找的。通过静态类：ViewEngines中的Engines，递归寻找，如果找到就显示，如果没有找到就报异常了。我们看下ViewEngines代码：&lt;/p&gt;  &lt;div style="border-bottom: #4f81bd 1px solid; text-align: left; border-left: #4f81bd 1px solid; line-height: 18px; background-color: white; margin: 0px; width: 100%; font-family: &amp;#39;Courier New&amp;#39;,&amp;#39;Consolas&amp;#39;,&amp;#39;Fixedsys&amp;#39;,&amp;#39;BitStream Vera Sans Mono&amp;#39;, courier,monospace,serif; color: black; font-size: 12px; overflow: auto; border-top: #4f81bd 1px solid; border-right: #4f81bd 1px solid"&gt;   &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 1:  &lt;/span&gt;&lt;span style="color: blue"&gt;public static class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ViewEngines&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 2:  &lt;/span&gt;&lt;span style="color: #2b91af"&gt;&lt;/span&gt;{&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 3:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 4:  &lt;/span&gt;    &lt;span style="color: blue"&gt;private readonly static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ViewEngineCollection &lt;/span&gt;_engines = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ViewEngineCollection &lt;/span&gt;{&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 5:  &lt;/span&gt;        &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;WebFormViewEngine&lt;/span&gt;() &lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 6:  &lt;/span&gt;    };&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 7:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 8:  &lt;/span&gt;    &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ViewEngineCollection &lt;/span&gt;Engines&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 9:  &lt;/span&gt;    {&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;10:  &lt;/span&gt;        &lt;span style="color: blue"&gt;get&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;11:  &lt;/span&gt;&lt;span style="color: blue"&gt;        &lt;/span&gt;{&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;12:  &lt;/span&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;_engines;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;13:  &lt;/span&gt;        }&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;14:  &lt;/span&gt;    }&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;15:  &lt;/span&gt;}&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&#xD;
&lt;p&gt;ViewEngines默认有一个实现了IVewEngine的类：WebFormViewEngine，这个类的源代码不是很长，主要是以下3个属性：&lt;/p&gt;&#xD;
&#xD;
&lt;div style="border-bottom: #4f81bd 1px solid; text-align: left; border-left: #4f81bd 1px solid; line-height: 18px; background-color: white; margin: 0px; width: 100%; font-family: &amp;#39;Courier New&amp;#39;,&amp;#39;Consolas&amp;#39;,&amp;#39;Fixedsys&amp;#39;,&amp;#39;BitStream Vera Sans Mono&amp;#39;, courier,monospace,serif; color: black; font-size: 12px; overflow: auto; border-top: #4f81bd 1px solid; border-right: #4f81bd 1px solid"&gt;&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 1:  &lt;/span&gt;MasterLocationFormats = &lt;span style="color: blue"&gt;new&lt;/span&gt;[] &lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 2:  &lt;/span&gt;{&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 3:  &lt;/span&gt;    &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/{1}/{0}.master&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 4:  &lt;/span&gt;    &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/Shared/{0}.master&amp;quot;&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 5:  &lt;/span&gt;&lt;span style="color: #a31515"&gt;&lt;/span&gt;};&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 7:  &lt;/span&gt;ViewLocationFormats = &lt;span style="color: blue"&gt;new&lt;/span&gt;[] &lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 8:  &lt;/span&gt;{&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 9:  &lt;/span&gt;    &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/{1}/{0}.aspx&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;10:  &lt;/span&gt;    &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/{1}/{0}.ascx&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;11:  &lt;/span&gt;    &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/Shared/{0}.aspx&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;12:  &lt;/span&gt;    &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/Shared/{0}.ascx&amp;quot;&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;13:  &lt;/span&gt;&lt;span style="color: #a31515"&gt;&lt;/span&gt;};&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;14:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;15:  &lt;/span&gt;PartialViewLocationFormats = ViewLocationFormats;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&#xD;
&lt;p&gt;很明显，这几个属性代表了路径格式，Master、View、PartialView的路径格式都可以设置。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;现在知道了这么多，对我这个懒人来说已经足够了。动手来实现一下：&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;在Global文件中Application_Start方法中，添加以下代码（这样程序启动的时候添加一次就够了）：&lt;/p&gt;&#xD;
&#xD;
&lt;div style="border-bottom: #4f81bd 1px solid; text-align: left; border-left: #4f81bd 1px solid; line-height: 18px; background-color: white; margin: 0px; width: 100%; font-family: &amp;#39;Courier New&amp;#39;,&amp;#39;Consolas&amp;#39;,&amp;#39;Fixedsys&amp;#39;,&amp;#39;BitStream Vera Sans Mono&amp;#39;, courier,monospace,serif; color: black; font-size: 12px; overflow: auto; border-top: #4f81bd 1px solid; border-right: #4f81bd 1px solid"&gt;&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 1:  &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ViewEngines&lt;/span&gt;.Engines.Add(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;WebFormViewEngine&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 2:  &lt;/span&gt;&lt;span style="color: #2b91af"&gt;&lt;/span&gt;{&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 3:  &lt;/span&gt;    ViewLocationFormats = &lt;span style="color: blue"&gt;new string&lt;/span&gt;[]&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 4:  &lt;/span&gt;    {&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 5:  &lt;/span&gt;        &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/Shared/ErrorPage/{0}.aspx&amp;quot;&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 6:  &lt;/span&gt;&lt;span style="color: #a31515"&gt;    &lt;/span&gt;},&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 7:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 8:  &lt;/span&gt;    PartialViewLocationFormats = &lt;span style="color: blue"&gt;new string&lt;/span&gt;[]&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt; 9:  &lt;/span&gt;    {&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;10:  &lt;/span&gt;        &lt;span style="color: #a31515"&gt;&amp;quot;~/Views/Shared/Partial/{0}.ascx&amp;quot;&lt;/span&gt;&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #f7f7ff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;11:  &lt;/span&gt;&lt;span style="color: #a31515"&gt;    &lt;/span&gt;}&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre style="padding-bottom: 0px !important; line-height: 18px; background-color: #fff !important; margin: 0em; padding-left: 12px !important; padding-right: 0px !important; word-wrap: break-word; color: black; word-break: normal; padding-top: 0px !important"&gt;&lt;span style="line-height: 18px; color: #4f81bd"&gt;12:  &lt;/span&gt;});&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&#xD;
&lt;p&gt;好了，运行吧，应该没什么问题了，这样我们以后，可以按照自己想要的方式来存放文件了，这样结构也比较清晰。这次寻找的目的也是因为在页面广告上，一开始都放在了Shared目录下面，看上去太不爽了，就找了下方法，当然肯定还有其他方法，我也比较偷懒，就用了它自带的类完成了目标，也算可以了，吼吼。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;PS：今天估计都是Google的天下，Google坚持了自己的信念，对个人来说我比较支持，但对于公司角度来说，现在真不敢再在Google上投推广了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/inday/aggbug/1692382.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/inday/archive/2010/03/23/1692382.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/inday/archive/2009/12/31/1636600.html</id><title type="text">2009年总结-爱与快乐着</title><summary type="text">没想到一晃已经到年底了，时间飞快，刚看了老赵的总结，不免伤感，这段时间自己博客也没更新，那就在今年的最后一天，写写今年的总结吧。  前几个月没什么，到了3月的时候，看到老赵那边在招人，也是抱着试试的心...</summary><published>2009-12-31T01:54:00Z</published><updated>2009-12-31T01:54:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2009/12/31/1636600.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2009/12/31/1636600.html"/></entry><entry><id>http://www.cnblogs.com/inday/archive/2009/10/26/Migrator-Net-Bug.html</id><title type="text">[实录]解决Migrator.Net 小bug</title><summary type="text">好久没写了，平时比较忙，只能趁周末的时候，写一点小东西，自己也记录一下。  平时我们做项目的时候，都会有自己的数据访问层，为了能方便以后的升级，我们一般会抽象出数据访问层，利用某些方式（比如工厂模式），达到数据库类型的切换，这大大提高了我们的开发效率，只需要修改建立一个新数据库，再配置的时候修改一下就能使用了。但每次我们必须要建立这个新的数据库，有时候这个工作量也非常的大，如果不熟悉的人，还可能建...</summary><published>2009-10-26T14:41:00Z</published><updated>2009-10-26T14:41:00Z</updated><author><name>James.Ying</name><uri>http://www.cnblogs.com/inday/</uri></author><link rel="alternate" href="http://www.cnblogs.com/inday/archive/2009/10/26/Migrator-Net-Bug.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/inday/archive/2009/10/26/Migrator-Net-Bug.html"/></entry></feed>
