﻿<?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>博客园-Trigon--Chatterley@35</title><link>http://www.cnblogs.com/Trigon/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 08 Oct 2008 07:52:01 GMT</lastBuildDate><pubDate>Wed, 08 Oct 2008 07:52:01 GMT</pubDate><ttl>60</ttl><item><title>关于分层和职责</title><link>http://www.cnblogs.com/Trigon/archive/2008/04/11/1147938.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Fri, 11 Apr 2008 02:17:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2008/04/11/1147938.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/1147938.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2008/04/11/1147938.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/1147938.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/1147938.html</trackback:ping><description><![CDATA[现在，人人都会用MVC的模式，都知道分3个层次来处理系统。分了3个层次，而代码的分界确又是堆砌的，爱堆哪就堆哪，这样和没分层又有什么区别呢？表现上看起来好点罢了。<br />
<br />
我看到很多的代码，在aspx.cs页面处理了很多的业务逻辑。在简单的网站，也许你认为没有业务逻辑，所以都可以写在aspx.cs。事实上并非如此。页面的显示视图不一样，也是逻辑。对于输出View的控制所有东西都是逻辑。在业务逻辑层上，很多人喜欢重复调用下数据层的东西，那种重复劳动太值了，多了一层多处理，又没有起到应有的作用。在业务逻辑层还出现GetXXXByUserID之类，就说明你出现了吃力不讨好的事情了。<br />
<br />
分层的心态是好的，可没做到份上。事实上，原则应该如下：<br />
<br />
<strong>表现层，用以处理所有用户输入和数据显示问题；<br />
业务逻辑层，存放所有&#8220;业务逻辑&#8221;，所有处理，算法等应该放的地方；<br />
数据访问或资源层，存放用于检索、修改或存储数据的所有代码。</strong><br />
<br />
简单的说表现层只处理输入和数据显示，当然还包括JS之类的处理。其他一律可以放到逻辑层处理。而数据访问层，说简单就是增删改查四个动作，其他的一律提到逻辑层处理。这样逻辑层的东西就可以具体的根据相同职责来分分合合。这样代码就清晰多了。<br />
<br />
哎~，可这个世界就有如字不可教的大量人存在。
<img src ="http://www.cnblogs.com/Trigon/aggbug/1147938.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42841/" target="_blank">[新闻]Google向Wine贡献更多代码</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>验证码的安全效果</title><link>http://www.cnblogs.com/Trigon/archive/2007/11/06/951083.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Tue, 06 Nov 2007 07:22:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/11/06/951083.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/951083.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/11/06/951083.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/951083.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/951083.html</trackback:ping><description><![CDATA[<p>大家都知道验证码的作用。验证码是为了防止机器遍历密码而获取帐户的操作权。但如果在客户端来生成验证码，那不等于花瓶吗？这个道理大家都懂，但还是有很多大网站还是这样做。。。。<br />
Sina的Blog生成验证码的代码的Js如下:<br />
<font face="Courier New">function load_chk_img(s) {<br />
&nbsp; var stamp = new Date().getTime();<br />
&nbsp; $(s).src = 'http://my.blog.sina.com.cn/myblog/checkwd_image.php?' + stamp;<br />
}</font><br />
当stamp的值一定时，生成的验证码是相同的。例如：<br />
<font face="Courier New"><a href="http://my.blog.sina.com.cn/myblog/checkwd_image.php?10000">http://my.blog.sina.com.cn/myblog/checkwd_image.php?10000</a>　</font>对应的7040，只不过显示的7040的形状不同而已。<br />
客户端完全可以修改stamp。从而获取一个Code,根据这个Code来验证。<br />
再用机器去遍历password就OK了，如果密码简单的话，就可以到大流量的vip博客玩一把了，那些vip肯定会大吃一惊。<br />
<br />
<br />
</p>
<img src ="http://www.cnblogs.com/Trigon/aggbug/951083.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42840/" target="_blank">[新闻]苹果创始人Steve Wozniak称iPod将被淘汰</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Sea@35还是挺适合初玩游戏的人</title><link>http://www.cnblogs.com/Trigon/archive/2007/10/18/929722.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 18 Oct 2007 15:51:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/10/18/929722.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/929722.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/10/18/929722.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/929722.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/929722.html</trackback:ping><description><![CDATA[<p>这两天在公司里玩了会<a href="mailto:Sea@35">Sea@35</a>，虽然有很多不足，但还是值得自己的人玩一把。特别是几百号人一起上阵的情景。呵呵，满地都是人的感觉就是cool。<br />
<br />
有兴趣的人还是值的一玩，毕竟改了些新东西。<br />
<a href="http://sea.35.com"><img height="112" alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/sea.GIF" width="151" border="0" /></a></p>
<img src ="http://www.cnblogs.com/Trigon/aggbug/929722.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42839/" target="_blank">[新闻]福布斯：硅谷日子将更难过 谁下一个倒下</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>wpmu中使用jquery的bug</title><link>http://www.cnblogs.com/Trigon/archive/2007/10/11/921288.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 11 Oct 2007 08:59:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/10/11/921288.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/921288.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/10/11/921288.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/921288.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/921288.html</trackback:ping><description><![CDATA[<p>今天修改wordpressmu遇到一个关于使用Jquery的bug，在IE下，老显示js有错误。bug显示信息为：Error:expected identifier, string or number。<br />
我于是找到了dashboardswitcher.php里的一段js：<br />
<font face="Verdana">jQuery( function($) {<br />
var switchTime;<br />
var w = false;<br />
var h = $( '#blog-title' )<br />
&nbsp;.css({<br />
&nbsp;&nbsp;background: 'transparent url( ../wp-content/mu-plugins/bullet_arrow_down.gif ) no-repeat scroll 100% .2em;',<br />
&nbsp;&nbsp;padding: '0 25px 2px 5px',<br />
&nbsp;&nbsp;cursor: 'pointer',<br />
&nbsp;&nbsp;border: '1px solid #14568a',//这里多了一个","<br />
&nbsp;})<br />
&nbsp;.parent().css( { position: 'relative' }).end()<br />
&nbsp;.append( $('#switchermenu') )<br />
&nbsp;.hover( function() {<br />
&nbsp;&nbsp;$(this).css({ border: '1px solid #1a70b4'});<br />
&nbsp;&nbsp;switchTime = window.setTimeout( function() {<br />
&nbsp;&nbsp;&nbsp;$('#switchermenu').fadeIn('fast').css( 'top', h ).find('a').width( w = w ? w : $('#switchermenu').width() );<br />
&nbsp;&nbsp;}, 300 );<br />
&nbsp;}, function() {<br />
&nbsp;&nbsp;window.clearTimeout( switchTime );<br />
&nbsp;&nbsp;$(this).css({ border: '1px solid #14568a' }) ;<br />
&nbsp;&nbsp;$('#switchermenu').hide();<br />
&nbsp;})<br />
&nbsp;.height() - 3;<br />
});</font><br />
jQuery还真是强大，既然一句话就实现了，包括样式变化，以及switchermenu的显示和隐藏等功能。正为jquery震撼，难怪说jquery改变了js的编码风格。<br />
我在这段代码中找了半天，没有看出什么问题。可能是由于太相信wpmu了，一直只在自己添加的代码里找。外加，没有太在意wpmu中的小细节。而且，它在fireFox下一切都正常。正在无奈的情况下发现了多了一个&#8220;,&#8221;，呵呵，得意&#8230;&#8230;又找到一个wpmu的bug。原来FF应该可以智能补差，例如&lt;br &gt;它会补充&lt;/br&gt;，而对空的变量则会忽略。而IE则没有那么智能，原本期望&#8220;,&#8221;后有个变量，则自然出现错误。<br />
一个小小的&#8220;,&#8221;，就可以看出两个browser的智能差距，没用过IE７,不知道它是不是也变智能了。</p>
<p>&nbsp;</p>
<img src ="http://www.cnblogs.com/Trigon/aggbug/921288.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42836/" target="_blank">[新闻]微软老矣 尚能赚否？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>无题国庆</title><link>http://www.cnblogs.com/Trigon/archive/2007/10/04/914268.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 04 Oct 2007 12:50:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/10/04/914268.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/914268.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/10/04/914268.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/914268.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/914268.html</trackback:ping><description><![CDATA[<p>今年国庆可以说是在空虚无聊中度过。原因当然很多，首先是国庆没有回家，如果回家肯定不会这么无聊。不回家的理由也很简单，一个字&#8220;懒&#8221;。因为家里没有人（父母在外），回去一切都得自理，包括洗衣服、做饭。其次，身边的朋友大都跑其他地方工作了，不是去龙岩，就是回去当公务员，还有的跑三明，福州等等。再次，可能是现在的我没有以前那种激情了，以前一有时间就到处跑，到处玩。而现在，感觉世界不过就那样，没啥意思。最后，女朋友天天上班。<br />
无聊归无聊，无聊总得忙些事情。于是，这几天再次拿起《PofEAA》，看的速度大不如前了，一天就只看那么几页，还好，每次看都有点收获。感觉大师的书些的比较严谨，啥主意和想法都凭证据，啥都是都讲究优劣对比、权衡。从这些就可以看出一个人的水平和书的质量，挑书，自然也要挑选这类的书。个人感觉，这类书对我影响最深。在细看《PofEAA》的同时，还顺便浏览了张询的《软件架构：组织原则与模式》的前面几十页的内容。<br />
张询，给我印象最深的是评《UML三大硬伤》，分析问题有深度，是我比较崇拜的人。因为自己对英文比较感冒，自然而然要看这些人翻译的书，心里比较塌实。看了架构和组织的关系，自然想到自己所在的公司。自己感觉这个方面是公司的重病。个人感觉公司的产品很零散，所有产品可以说是堆积起来，而不是架构起来。一个已有11年的企业，既然每次开发都要从头做起，不得不说是一个悲哀。重复开发，人员流动太大等等许多问题都早早暴露出来。我们作为最底层的员工，只能用眼睛看待一切。<br />
最后，以前一直想学ROR，结果一直没有时间。乘这次大放假的时间，把ROR塔起来。基于MVC架构的Rails，动态语言，内置的Server等，对于开发速度大大提高了。<br />
<br />
今天也4号了，希望这次可以把ROR大致轮廓搞清楚，Ruby语法过一遍，有机会虚拟个项目玩一把。。。</p>
<img src ="http://www.cnblogs.com/Trigon/aggbug/914268.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42832/" target="_blank">[新闻]YouTube探索新赢利模式 开始售音乐、视频游戏</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>google.cn的设计？</title><link>http://www.cnblogs.com/Trigon/archive/2007/09/30/911446.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Sun, 30 Sep 2007 00:59:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/09/30/911446.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/911446.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/09/30/911446.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/911446.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/911446.html</trackback:ping><description><![CDATA[今天不小心看到google.cn上有两个地方分别出现，<font size="-1">&#169;2007 Google</font>和<font class="p" size="-1">&#169;2006 Google</font><br />
<br />
这应该就是修改了一个地方，而没有应用到所有地方。这种设计缺陷无论是大公司还是小公司，如果设计不好，很容易出现这种问题，给维护带来太多的麻烦了。<br />
<br />
有时候设计时，或者Coding时候，为图方便，也会遗留很多这种细节错误。所以一个人的认真态度才是软件开发重要之处<img src ="http://www.cnblogs.com/Trigon/aggbug/911446.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42831/" target="_blank">[新闻]英特尔Core i7将继续称王 性能提52%</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Microsoft Academic Address</title><link>http://www.cnblogs.com/Trigon/archive/2007/09/27/907562.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 27 Sep 2007 02:01:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/09/27/907562.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/907562.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/09/27/907562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/907562.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/907562.html</trackback:ping><description><![CDATA[可以参考源代码的哦<br />
地址：<br />
http://www.microsoft.com/resources/sharedsource/Licensing/WindowsAcademic.mspx<br /><img src ="http://www.cnblogs.com/Trigon/aggbug/907562.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42830/" target="_blank">[新闻]微软已经放弃Windows Vista?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>注册openid来遨游网络</title><link>http://www.cnblogs.com/Trigon/archive/2007/09/20/900481.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 20 Sep 2007 11:44:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/09/20/900481.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/900481.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/09/20/900481.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/900481.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/900481.html</trackback:ping><description><![CDATA[<p>OpenID注册地址<font color="#000000">： </font><a href="http://openid.35.com">http://openid.35.com<br />
</a><br />
OpenID优势：<br />
1、有了OpenID，你可以拿OpenID登陆所有支持OpenID登录的网站。这些支持OpenID登陆的网站对你的密码一无所知，保证了你的密码安全。你再也不用记多了username和password。<br />
2、OpenID可以设置委托，可以把自己的域名作为OpenID。例如我把<a href="http://www.xmpoint.com">http://www.xmpoint.com</a>注册openid委托，则可以利用<a href="http://www.xmpoint.com">http://www.xmpoint.com</a>来登陆所有支持OpenID登录的网站。<br />
3、OpenID可以注册N份个人资料，用于你登录的各个网站的personal profile。<br />
<br />
OpenID劣势：<br />
1、你登录的时候，你必须跳转到OpenIDServer去验证你的身份。这是必须的，要不支持OpenID的网站怎么知道你是不是冒牌的。<br />
<br />
<br />
以后在网络上，域名就是你身份的表示，就象你现在的身份证一样。不同的是自己的身份证不能由自己来定，而OpenID的帐号你可以爱取啥就取啥（前提是你能注册到）。到那个时候，好的域名就更值钱了。<br />
<br />
</p><img src ="http://www.cnblogs.com/Trigon/aggbug/900481.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42829/" target="_blank">[新闻]Microsoft Live Search 现在嵌入在Facebook中</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>缓存有关的几篇文章</title><link>http://www.cnblogs.com/Trigon/archive/2007/09/06/883869.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 06 Sep 2007 01:36:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/09/06/883869.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/883869.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/09/06/883869.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/883869.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/883869.html</trackback:ping><description><![CDATA[&nbsp;1、理解缓存&nbsp;&nbsp;<a href="http://blog.joycode.com/ghj/archive/2007/09/01/107863.aspx">http://blog.joycode.com/ghj/archive/2007/09/01/107863.aspx</a><br />
&nbsp;2、也说缓存 <a href="http://blog.joycode.com/peon/archive/2007/09/05/108033.aspx">http://blog.joycode.com/peon/archive/2007/09/05/108033.aspx</a><br />
&nbsp;3、使用memcached进行内存存储 <a href="http://www.example.net.cn/archives/2006/01/eoamemcachedoea.html">http://www.example.net.cn/archives/2006/01/eoamemcachedoea.html</a><br />
&nbsp;4、从LiveJournal后台发展看大规模网站性能优化方法<a href="http://www.example.net.cn/2006/03/livejournal_optimize_step_by_step.html">http://www.example.net.cn/2006/03/livejournal_optimize_step_by_step.html</a><img src ="http://www.cnblogs.com/Trigon/aggbug/883869.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42828/" target="_blank">[新闻]Mono 2.0 发布 Linux 上的 .NET 框架成熟了吗？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>product@35</title><link>http://www.cnblogs.com/Trigon/archive/2007/08/03/841984.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Fri, 03 Aug 2007 08:42:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/08/03/841984.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/841984.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/08/03/841984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/841984.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/841984.html</trackback:ping><description><![CDATA[<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/35/mail.jpg" border=0><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/35/koa.gif" border=0><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/35/vs.gif" border=0><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/35/domain.jpg" border=0><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/35/blog.jpg" border=0><br><br>Other <a title=Products@35 href="http://products.35.com/product.asp">Products@35</a><img src ="http://www.cnblogs.com/Trigon/aggbug/841984.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42827/" target="_blank">[新闻]史上九大最强网络黑客</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>wordpress mu无法显示中文问题的解决方法</title><link>http://www.cnblogs.com/Trigon/archive/2007/07/27/833528.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Fri, 27 Jul 2007 04:43:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/07/27/833528.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/833528.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/07/27/833528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/833528.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/833528.html</trackback:ping><description><![CDATA[<p>问题前提：mysql版本&gt;=4.1<br><br>1、修改mysql目录下的my.ini<br>#default-character-set=latin1<br>default-character-set=utf8<br>2、修改wp-includes/wp-db.php<br>在对象wpdb中添加函数set_charset($charset)：<br>class wpdb{<br><br>&nbsp;function set_charset($charset)<br>&nbsp;{<br>&nbsp;&nbsp;// check mysql version first.<br>&nbsp;&nbsp;$serverVersion = mysql_get_server_info($this-&gt;dbh); <br>&nbsp;&nbsp;$version = explode('.', $serverVersion); <br>&nbsp;&nbsp;if ($version[0] &lt; 4) return; <br>&nbsp;&nbsp;// check if utf8 support was compiled in <br>&nbsp;&nbsp;$result = mysql_query("SHOW CHARACTER SET like 'utf8'", $this-&gt;dbh);<br>&nbsp;&nbsp;if (mysql_num_rows($result) &lt;= 0) <br>&nbsp;&nbsp;&nbsp;return;<br>&nbsp;&nbsp;if ($charset == 'utf-8' || $charset == 'UTF-8')<br>&nbsp;&nbsp;&nbsp;$charset = 'utf8';<br>&nbsp;&nbsp;@mysql_query("SET NAMES '$charset'", $this-&gt;dbh); <br>&nbsp;}<br>}<br><br>3、并修改wordpressmu根目录下的wp-settings.php:<br>require (ABSPATH . WPINC . '/vars.php');</p>
<p>$wpdb-&gt;set_charset(get_bloginfo('charset')); // add at this<br><br>4、重新创建wordpressmu的数据库（重新安装wordpressmu）。</p><img src ="http://www.cnblogs.com/Trigon/aggbug/833528.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42826/" target="_blank">[新闻]微软拟2010年推新版SQL 强化商业智能功能</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Zend framework 1.0.0下载</title><link>http://www.cnblogs.com/Trigon/archive/2007/07/13/817417.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Fri, 13 Jul 2007 08:33:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/07/13/817417.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/817417.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/07/13/817417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/817417.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/817417.html</trackback:ping><description><![CDATA[<br>下载地址：<a title=ZendFramework-1.0.0.zip href="http://framework.zend.com/releases/ZendFramework-1.0.0/ZendFramework-1.0.0.zip">ZendFramework-1.0.0.zip</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　　<a title=ZendFramework-1.0.0.tar.gz href="http://framework.zend.com/releases/ZendFramework-1.0.0/ZendFramework-1.0.0.tar.gz">ZendFramework-1.0.0.tar.gz</a><br><img src ="http://www.cnblogs.com/Trigon/aggbug/817417.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42825/" target="_blank">[新闻]GMail Labs 新功能 - 做数学题确认是否发出邮件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>PHP扩展入门的好文章</title><link>http://www.cnblogs.com/Trigon/archive/2007/07/13/817387.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Fri, 13 Jul 2007 08:11:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/07/13/817387.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/817387.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/07/13/817387.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/817387.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/817387.html</trackback:ping><description><![CDATA[一篇很好介绍如何如何利用VC来扩展php。<br><br>地址：<a href="http://www.phpe.net/articles/410.shtml">http://www.phpe.net/articles/410.shtml</a><img src ="http://www.cnblogs.com/Trigon/aggbug/817387.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42825/" target="_blank">[新闻]GMail Labs 新功能 - 做数学题确认是否发出邮件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>microformats</title><link>http://www.cnblogs.com/Trigon/archive/2007/07/09/810808.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Mon, 09 Jul 2007 02:14:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/07/09/810808.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/810808.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/07/09/810808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/810808.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/810808.html</trackback:ping><description><![CDATA[<p>&nbsp;microformats原来还有此等威力，当然还是Xml,XPath的好用之处。<br>什么是microformats，在microformats.org上这样描述：Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.<br><br>microformats网站：<a href="http://microformats.org/">http://microformats.org</a><br>一篇很好的文章：<a title="使用 microformats 分离数据与格式" href="http://www-128.ibm.com/developerworks/cn/xml/x-microformats/index.html">使用 microformats 分离数据与格式</a><br></p><img src ="http://www.cnblogs.com/Trigon/aggbug/810808.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42824/" target="_blank">[新闻]OpenOffice四处创造纪录 占有全球25%办公软件市场</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Windows SharePoint Services Skills</title><link>http://www.cnblogs.com/Trigon/archive/2007/06/26/796260.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Tue, 26 Jun 2007 06:07:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/06/26/796260.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/796260.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/06/26/796260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/796260.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/796260.html</trackback:ping><description><![CDATA[<span style="COLOR: red">1 Deploying Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services and Custom Components <br></span><strong>Configure a target computer for Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services development.</strong> <br>Create Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services service accounts. <br>Configure database rights for Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services service accounts. <br>DbCreator <br>SecurityAdministrator <br>Configure machine rights. <br>IIS_WPG <br>STS_WPG <br>Enable forms authentication on the IIS virtual server. <br><strong>Deploy a Web Part to the Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services server.</strong> <br>Register an assembly as a safe control in the Web.config file. <br>Configure Web Part permissions. <br>Enable a Web Part to access resources by creating a custom security policy. <br><strong>Create and deploy a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services solution package.</strong> <br><strong>Deploy a site definition to a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services front-end Web server.</strong> <br><span style="COLOR: red">2 Deploy a site definition manually by copying appropriate files and folders to the server and resetting IIS.</span> <br><strong>Deploy a feature to a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services front-end Web server</strong> <br>Deploy a feature manually by copying appropriate files and folders to the server and resetting IIS <br>Install and activate a feature by using STSADM. <br><strong>Deploy a Web service to a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services front-end Web server.</strong> <br>Deploy a Web service so that it is available within the context of any Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services site. <br>Deploy a Web service external to the Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services context. <br><strong>Deploy user controls to a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services front-end Web server.</strong> <br>Deploy a user control so that it can be used by any Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services component. 2 Creating Site and Feature Provisioning Components <br><strong>Create a feature definition</strong> <br>Specify a feature that depends on another feature to activate <br>Specify an Event Receiver to handle events for a feature <br>Localize a feature using a resource file <br>Create an action to add an option to the site settings menu <br>Add a new master page when a feature is activated <br>Cache the master page in a document library <br><strong>Create a site definition</strong> <br>Define the top and side navigation areas for a site <br>Specify a list definition to use in a site <br>Hide a list definition from the Create Page <br><strong>Specify a Document Template in a site definition</strong> <br>Specify a file for use in a Document Template <br><strong>Create a site definition module</strong> <br>Specify a file to be cached in memory on the front-end server <br>Add a UI element to the beginning of the top navigation area in a module <br>Force a Feature to install when a site is created by using the site definition <br><strong>Specify the configurations of lists and modules in a site definition</strong> <br>Create multiple configurations for a single site definition <br>Specify that the site created will only exist as the root Web site in a collection <br><strong>Create pages and layouts for a site</strong> <br>Create a custom Page Layout that has multiple Web part zones <br>Customize the fields that are displayed on the mobile view of a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services page <br>Modify the page layout for a site using master pages <br><span style="COLOR: red">3 Creating Metadata and Workflow Provisioning Components <br></span><strong>Create a site column</strong> <br>Specify a site column in a site definition in a Feature <br>Add a column to a Provisioned Site by using the API <br><strong>Create a list definition</strong> <br>Prevent a list from being created on a site by hiding it on the list Create Page <br>Add a new view to a list definition <br>Specify a view that shows all files and all subfolders of all folders <br><strong>Create a Custom Field Type</strong> <br>Define the Custom Field Type to be displayed for inclusion in lists and document libraries <br>Display the Custom Field Type differently for a new item form and an edit form <br><strong>Create a Workflow definition</strong> <br>Attach a workflow to a list on creation <br>Collect default values for a workflow <br>Package a workflow in a feature <br><strong>Create a Content Type</strong> <br>Add multiple Content Types to a single list <br>Apply a Content Type to multiple file types <br>Inherit properties from one Content Type to another <br>Update an existing content type <br><span style="COLOR: red">4 Developing Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services Components by Using the .NET Framework <br></span><strong>Implement a business process by using a workflow.</strong> <br>Create a basic workflow by using the <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Designer. <br>Call custom services from workflow by using Visual Studio 2005 <br><strong>Handle Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services events by developing an event receiver.</strong> <br>Handle a list event. <br>Cancel an operation. <br>Handle a feature event. <br><strong>Develop a Web Part.</strong> <br>Upgrade a Web Part from Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services-version 2 to version 3. <br>Handle postback data by using the control life cycle. <br>Troubleshoot a Web Part failure. <br>Handle exceptions within a Web Part. <br>Convert a user control into a Web Part. <br>Implement caching by using the Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services cache. <br>Create a personalized Web Part property. <br>Create a shared Web Part property. <br>Create a Web Part that uses Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services cascading style sheet (CSS) styles. <br>Enhance the Web Part configuration UI by using a custom tool part. <br><strong>Share data between Web Parts.</strong> <br>Create a Web Part that is a data provider. <br>Create a Web Part that is a data consumer. <br>Filter information from one Web Part to another. <br><strong>Elevate application permissions by using impersonation.</strong> <br><strong>Enable a custom Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services administration page to access the Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services object model.</strong> <br><strong>Schedule tasks by using the <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Timer service.</strong> <br>Create a job by using the SPJobDefinition class. <br>Submit a job to the <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Timer service. <br><span style="COLOR: red">5 Manipulating Site Content by using the API <br></span><strong>Manage an alert.</strong> <br>Create an alert for a user. <br>Remove an alert from a user. <br>Change the frequency of alerts. <br><strong>Enhance the Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services search service.</strong> <br>Create a custom SPQuery object. <br>Perform a cross-site search. <br><strong>Customize user access and permissions.</strong> <br>Add a user to a site group. <br>Remove a user from a site group. <br>Change a user's permissions to edit a list. <br><strong>Manipulate items in lists.</strong> <br>Create a list item. <br>Update a list item. <br>Delete a list item. <br>Enumerate list items. <br>Add a photo to a picture library. <br>Add a recurring event to a calendar. <br>Delete a thread in a discussion board. <br><strong>Manipulate documents in lists.</strong> <br>Upload a document. <br>Copy a document between document libraries. <br>Attach a document to a list item. <br>Move a document across sites. <br><strong>Manage records by using the records repository.</strong> <br>Enable the records repository for the Send to menu. <br>Submit a file to the records repository. <br>Manipulate source data by using record properties. <br>Retrieve a series on a file from the records repository. <br><strong>Manage document versions.</strong> <br>Check out a document. <br>Check in a document. <br>Rollback a document version. <br>Display all versions of a document.<br><span style="COLOR: red">&nbsp;6 Manipulating Site Configuration by Using the API</span> <br><strong>Manipulate a list structure.</strong> <br>Dynamically add a custom action to a list. <br>Create a list object and add a column to the list object. <br>Create a custom view for a list. <br>Create a dynamic column type on a list. <br>Create a document template and assign it to a document library. <br><strong>Customize Web Part behavior based on feature availability.</strong> <br><strong>Dynamically handle events.</strong> <br>Dynamically register an event receiver for a site event. <br>Dynamically register an event receiver for a list event. <br>Dynamically register an event receiver for a feature event. <br><strong>Manage site hierarchy.</strong> <br>List the IIS virtual servers on a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services server farm. <br>List the sites available to the current user. <br>Create a site. <br><strong>Customize navigation in a Windows <a title="协作交流工具" href="http://www.cnblogs.com/trigon" >SharePoint</a> Services site.</strong> <br>Add an item to the QuickLaunch menu. <br>Modify an item on the top navigation menu. <br><strong>Manage groups and groups membership.</strong> <br>Create a custom site group and set permissions for the group. <br>Add a cross-site group to a site group on different site.<img src ="http://www.cnblogs.com/Trigon/aggbug/796260.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42823/" target="_blank">[新闻]云计算硝烟四起 IBM携Bluehouse参战</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>第17界Jolt大奖</title><link>http://www.cnblogs.com/Trigon/archive/2007/05/21/754933.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Mon, 21 May 2007 15:56:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/05/21/754933.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/754933.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/05/21/754933.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/754933.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/754933.html</trackback:ping><description><![CDATA[下面是获奖名单：<br><br>Books (General)：Agile Software Development: The Cooperative Game， Alistair Cockburn<br><br>Books (Technical)：Head First Object-Oriented Analysis and Design， B.McLaughlin, G.Pollice and D.West<br><br>Change and Configuration Management（变更及配置管理）：AccuRev 4.5<br><br>Collaboration Tools（协作工具）：Confuluence<br><br>Database Engines and Data Tools（数据库引擎及数据工具）：Visual Studio 2005 Team Edition for Database Professionals<br><br>Design and Modeling（设计及建模）：stpBA Storyboarding for Microsoft Visual Studio 2005 Team System<br><br>Development Environments（开发环境）：NetBeans IDE<br><br>Enterprise Tools（企业工具）：Cape Clear ESB Platform<br><br>Libraries, Frameworks and Components（库、框架及组件）：NetAdvantage for .NET<br><br>Mobile Development（移动开发）：Carbide .c++ Professional Edition<br><br>Project Management Tools（项目管理工具）：Rally Enterprise<br><br>Security（安全）：AppScan<br><br>Automated Testing Tools（自动测试工具）：AgitarOne<br><br>Bug and Defect Tracking Tools（缺陷跟踪工具）：TestTrack Studio<br><br>Utilities（杂类应用）：VMWare Lab Manager<br><br>Web Development（Web开发）：Adobe Flex 2<br><br>Websites/Developer Networks（网站/开发者网络）：SUN Developer Network<br><br>原文地址:<a href="http://www.matrix.org.cn/resource/news/Jolt_92f5060e-d8d0-11db-9bed-29012b8c745e.html">http://www.matrix.org.cn/resource/news/Jolt_92f5060e-d8d0-11db-9bed-29012b8c745e.html</a><br><img src ="http://www.cnblogs.com/Trigon/aggbug/754933.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42822/" target="_blank">[新闻]唱片商解密缘何反百度：态度强硬 人工干预明显</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>产品开发和商业系统开发</title><link>http://www.cnblogs.com/Trigon/archive/2007/04/04/700396.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Wed, 04 Apr 2007 13:17:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/04/04/700396.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/700396.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/04/04/700396.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/700396.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/700396.html</trackback:ping><description><![CDATA[<p>我经历了开发商业系统和产品两种开发形式，在我个人里，发现了些自己感觉极其不舒服的东西。<br>商业系统开发，简单一句话，就是客户和开发人员的需求的一个平衡。客户希望得到的系统是功能越强大，各个方面都达到自己的200%的满意，而开发人员则站在自己的角度尽量舍去不必要的功能，为了是自己能有更大的利润。往往花大量的时间去取的平衡，而忽略了系统的一些东西，最后开发出来的系统往往都不尽人意。在中国国情里，我只要能交出东西，就万事OK了。有时候即使能在很短时间内完成的功能，非得磨上几天。在开发上，尽量减少&#8220;不必要&#8221;的东西，例如文档和注释等等。这些就导致了一些IT的特有现状。一个词&#8220;悲哀&#8221;来形容。<br>产品开发，则是要实现一个真正的商品。公司自己要拿这些产品来卖钱。因为是公司自己的角度，不存在和客户之间的矛盾，自然而然会去避免上面的一些问题，然而另一方面的问题就暴露出来了。在开发产品时，产品经理自然要把产品描述的很清楚，需求，设计都要做的很全面（过度），从而导致了文案化。公司花费在这些东西的成本过于庞大。如果产品好买的好，也就OK了，否则，就只能面临资金紧张，倒闭等问题。然而，开发人员毕竟是拿工资的，自然就会去消极怠工，希望这个产品能开发久些。原本可以在半年开发完成的，在开发人员手上非得磨个8-9个月。如果外加管理不好，往往产品组（程序管理组）和开发部协调不好，又会导致产品畸形。<br><br>从上面的问题，这些问题都或多或少的存在。对于开发商业系统，如果能有具有开发技能的客户参与到商业系统的开发，那么可以缓解一些问题。而开发产品，如果能把产品流水线化，那么我想也可以或多或少地解决一些问题。当然也可以把产品利益相关话，产品开发买钱如果关系到产品开发里的每个人，产品开发就不会象现在这样了。<br><br>一句话，感觉开发那么久，开发还是没有采用敏捷思想来解决一些问题。国内的开发还是处于国外十几年前的状况，或者更远。。。。在这种开发体制下，无论哪个人开发，无论是管理和开发人员，都不会感到舒服。。</p><img src ="http://www.cnblogs.com/Trigon/aggbug/700396.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42821/" target="_blank">[新闻]国外媒体评出史上十大悬疑网络犯罪</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>走了，想回头，却不能回头</title><link>http://www.cnblogs.com/Trigon/archive/2007/04/03/699048.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Tue, 03 Apr 2007 15:04:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/04/03/699048.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/699048.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/04/03/699048.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/699048.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/699048.html</trackback:ping><description><![CDATA[一切都来晚了，想哭，但已经没有眼泪。<br><img src ="http://www.cnblogs.com/Trigon/aggbug/699048.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42820/" target="_blank">[新闻]AMD拆分方案已确认 获阿联酋84亿美元投资</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Ajax界面</title><link>http://www.cnblogs.com/Trigon/archive/2007/04/03/698357.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Tue, 03 Apr 2007 06:58:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/04/03/698357.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/698357.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/04/03/698357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/698357.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/698357.html</trackback:ping><description><![CDATA[Show一下利用Asp.net Ajax做的项目<br><img style="width: 720px; height: 360px;" alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/hannover2.GIF"><br><br><img src ="http://www.cnblogs.com/Trigon/aggbug/698357.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42820/" target="_blank">[新闻]AMD拆分方案已确认 获阿联酋84亿美元投资</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>工作流开发的一篇好文章</title><link>http://www.cnblogs.com/Trigon/archive/2007/04/02/696605.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Mon, 02 Apr 2007 01:58:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/04/02/696605.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/696605.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/04/02/696605.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/696605.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/696605.html</trackback:ping><description><![CDATA[<a  href="http://www.cnblogs.com/xiaoshatian/archive/2007/03/21/680507.html">http://www.cnblogs.com/xiaoshatian/archive/2007/03/21/680507.html</a><br><img src ="http://www.cnblogs.com/Trigon/aggbug/696605.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42817/" target="_blank">[新闻]雅虎新闻首页改版，宽屏、共享、组件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>我的动态</title><link>http://www.cnblogs.com/Trigon/archive/2007/03/22/683339.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Wed, 21 Mar 2007 16:25:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/03/22/683339.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/683339.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/03/22/683339.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/683339.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/683339.html</trackback:ping><description><![CDATA[好久没有来这里写点东西了，怪想念这里的。<br><br>现在还有很多人来加我的QQ，想问我SP的问题。可人在江湖，身不由己。我不在过多关注SP，不过有空还是会看看SDK（english version)。为了生存，我换了份工作。而现在的这份工作，由于保密性比较高些，几乎都与外界失去了联系，所以很多人都以为我消失了。现在的我不上MSN了，QQ也很少上了。上QQ的唯一目的，是看谁给我留言了。看完留言，我就下QQ了。望兄弟姐妹们见谅。<br><br>现在来说说，我这三个月来都在干什么吧。我最近在做一个关于Asp.net Ajax的项目。项目可以订阅RSS，可以对自己喜欢的东西进行整合到自己的Space里面。其界面效果很象winform。我从不会Javascript，到现在几乎掌握了JS，能完成JS能实现的一些东西，当然前提是离不开资料。感觉在把弄JS的唯一难度是如何去跨平台，我们的程序必须在IE和fireFox下运行。我也深深的理解了IE的&#8220;笨&#8221;，也因为这个项目喜欢上了fireFox。现在，项目的第一迭代开发几乎完成了，可以歇一口气了。我也终于知道了原来webform也可以达到winform的效果。我参与开发的Hannover2.0项目，界面看起来还是挺绚的哦。（有机会让大家也瞧瞧，但这个机会几乎很渺茫）<br><br>以后有机会，我还会重新回到网络世界，好久没有看资料了。Microsoft的技术不知道又发展到什么地步了。goooo了一下，感觉现在大家都在研究Vista了，看来以后也要多去学学Vista了。（kunnnn了，sleep去）<img src ="http://www.cnblogs.com/Trigon/aggbug/683339.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42816/" target="_blank">[新闻]传阿里投资淘宝超40亿元 应对百度C2C</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>F1 2007年赛程</title><link>http://www.cnblogs.com/Trigon/archive/2007/03/11/670708.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Sat, 10 Mar 2007 16:58:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2007/03/11/670708.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/670708.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2007/03/11/670708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/670708.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/670708.html</trackback:ping><description><![CDATA[<table cellSpacing=1 cellPadding=1 width=540 align=center bgColor=#e6a360 border=0>
    <tbody>
        <tr>
            <td width="33%" bgColor=#eed7bf>日期</td>
            <td width="33%" bgColor=#eed7bf>比赛</td>
            <td width="34%" bgColor=#eed7bf>地点</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年3月18日</td>
            <td width="33%" bgColor=#ffffff>F1澳大利亚大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>澳大利亚</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年4月8日</td>
            <td width="33%" bgColor=#ffffff>F1马来西亚大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>马来西亚</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年4月15日</td>
            <td width="33%" bgColor=#ffffff>F1巴林大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>巴林</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年5月13日&nbsp;</td>
            <td width="33%" bgColor=#ffffff>F1西班牙大奖赛</td>
            <td width="34%" bgColor=#ffffff>西班牙</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年5月27日</td>
            <td width="33%" bgColor=#ffffff>F1摩纳哥大奖赛</td>
            <td width="34%" bgColor=#ffffff>摩纳哥</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年6月10日&nbsp;</td>
            <td width="33%" bgColor=#ffffff>F1加拿大大奖赛</td>
            <td width="34%" bgColor=#ffffff>加拿大</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年6月17日</td>
            <td width="33%" bgColor=#ffffff>F1美国大奖赛</td>
            <td width="34%" bgColor=#ffffff>美国</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年7月1日</td>
            <td width="33%" bgColor=#ffffff>F1法国大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>法国</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年7月8日</td>
            <td width="33%" bgColor=#ffffff>F1英国大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>英国</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年7月22日</td>
            <td width="33%" bgColor=#ffffff>F1德国大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>德国</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年8月5日</td>
            <td width="33%" bgColor=#ffffff>F1匈牙利大奖赛</td>
            <td width="34%" bgColor=#ffffff>匈牙利</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年8月26日</td>
            <td width="33%" bgColor=#ffffff>F1土耳其大奖赛</td>
            <td width="34%" bgColor=#ffffff>土耳其</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年9月9日</td>
            <td width="33%" bgColor=#ffffff>F1意大利大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>意大利</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年9月16日&nbsp;</td>
            <td width="33%" bgColor=#ffffff>F1比利时大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>比利时</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年9月30日</td>
            <td width="33%" bgColor=#ffffff>F1中国大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>中国</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年10月7日</td>
            <td width="33%" bgColor=#ffffff>F1日本大奖赛&nbsp;</td>
            <td width="34%" bgColor=#ffffff>日本</td>
        </tr>
        <tr>
            <td width="33%" bgColor=#ffffff>2007年10月21日</td>
            <td width="33%" bgColor=#ffffff>F1巴西大奖赛</td>
            <td width="34%" bgColor=#ffffff>巴西</td>
        </tr>
    </tbody>
</table><img src ="http://www.cnblogs.com/Trigon/aggbug/670708.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42815/" target="_blank">[新闻]传雅虎最快本月将宣布收购美国在线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>引发感想的一篇文章</title><link>http://www.cnblogs.com/Trigon/archive/2006/12/05/583395.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Tue, 05 Dec 2006 15:08:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/12/05/583395.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/583395.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/12/05/583395.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/583395.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/583395.html</trackback:ping><description><![CDATA[出处：<a href="http://msmvps.com/blogs/omar/archive/2006/11/09/How-to-become-a-really-experienced-developer-overnight.aspx">http://msmvps.com/blogs/omar/archive/2006/11/09/How-to-become-a-really-experienced-developer-overnight.aspx</a><br><font color=#002c99><font color=#000000>作者：Omar AL Zabir</font><br><strong>How to become a really experienced developer overnight</strong></font> <br><br>
<p>I get a lot of request from a lot of people who see my works and get inspired and ask me how can they do the same? The questions I generally get are following:</p>
<ul>
    <li>How can I become a developer like you?
    <li>How can I develop projects like you did?
    <li>What do I need to learn in C# to become like you?
    <li>Does Microsoft Certifications help? Should I go for the exams?
    <li>What did you do to become MVP? I want to become MVP too.
    <li>I am 23 (or 24) and I want to become like you. What do I need to do?</li>
</ul>
<p>Generally the questions are like this. Everyone asks me for a "shortcut" way to becoming a really good developer. So, here's the magical secret for becoming a really good developer and achieve everything I have achieved:</p>
<blockquote>
<p>Work&nbsp;18 hours per day, 7 days a week, 360 days a year for 13 years. </p>
</blockquote>
<p>Yes! That's the secret. It's pretty easy. The only thing you need to do is "work" and do nothing else and you will achieve everything that I have achieved. Pretty easy. I did that, so you can do it too! Piece of cake. </p>
<p>If you want to go for the "long" way then here're the things you can try:</p>
<ul>
    <li>Take part in open source projects or make several yourselve. This is the best way to learn really useful things.
    <li>If you can, try setting up your own company. I have setup 3 companies so far. 2 were not that succesful,&nbsp;1 is very successful. It helped me learn so many things that I would have never learnt by working in other's companies as an employee.
    <li>Read articles everyday. There are thousands of articles to read from <a href="http://www.codeproject.com/">www.codeproject.com</a>&nbsp;and msdn.microsoft.com. I still read almost all the articles that get published in codeproject every week. If you read 10 articles per week and do it for&nbsp;a year&nbsp;weeks, you have the knowledge of 480 articles! Who can beat you then?
    <li>Not only read articles, but try out the attached source codes. Make similar projects yourselves and use the ideas presented in the articles in your own project. I spend everyday at least 1 hour in trying out new technologies. This not only increases my knowledge but also makes me more experienced in doing things better and helps me do my office work better and faster.
    <li>Get into companies which gives you exciting projects to work on and you get to do something in everything. For example, join a company which gives you the freedom to design your modules, develop it, test it, document it etc. The idea is to gain experience from all stages of development. Make sure the company has enough bright stars to learn from. If you just become another cow in a big dairy farm, no benefit.
    <li>Don't leave a company if you are underpaid but you do a lot for the company. Have patience. Build yourself up and you will one day get what you deserve. I used to get $250 per month in my first company which used to do outsourced projects for a really big company in US. I worked day and night in that company and worked in 8 projects in 7 years. I did not leave the company only because of the technologies I could learn and apply and the variety of things I could do there. Best of all, I could work on many outsourced projects myself from various countries which exposed me to a wide variety of technologies.&nbsp;So, when I left the company and joined another one, with the vast experience I had gathered from my previous underpaid company, my salary became $200/day in the new company. See the difference. If I had left earlier seeking higher salary instead of technologies, I would not have learned all the cool things and I would not become so expensive as I am now.&nbsp;
    <li>This is very important for those who cost $200/day now. Don't change yourself once you start earning this much. Be the same person as you were when you used to get $200/month. Remember, it was&nbsp;the attitude and the burning desire to learn and grow that made you become what you are now. If the burning sun inside you becomes a dying candle, you lose.
    <li>Don't start your career in a company where you are given nice specs to read on, you have&nbsp;lead developers to decide all input/output/pseudocodes,&nbsp;you have a solid QA team to test your work, you have managers and administrators to take care of every management and administrative issues etc. In such a company, the only thing you become is a "smart typist". You basically translate English to C#. The right side of your brain does not develop at all. Start your career with small companies which deal with lots of challenges and you get the chance to burn your brain and fingers out. The sweet smell of your roasted brain is far better than the sweet scent of your polished cubicle inside a decorated corporate office.
    <li>I have seen the following evolutionary cycle of developers and see where you fit in:
    <ul>
        <li>Beginner: Does not wear shoes, comes to office on sandles. Looks very sober. Shirt is outside pant.&nbsp; When you ask them, do you know .NET events and delegates? They say, "uh, ummm, no I don't think so. Is it birthday events?"
        <li>Beginner+: Gives you "I know it all" look whenever you talk about programming. Wears shiny shoes, full sleve&nbsp;shirt is nicely put inside dockers pants.&nbsp;Back brushed&nbsp;hair wtih "Set Wet" gel and always on $300 sunglasses. When you ask them, "do you know .NET events and delegates?" They say, "Events and delegates are coooool man! You can do anything with them and mark my word man, "anything". I haved used them in sooooo many projects.&nbsp;Did you just learn about&nbsp;.NET events and delegates?"
        <li>Intermediate: Clothing turns a bit pale. Sunglass is old-school. No hair gel. Anytime you speak about some terms like EJB, Spring, Design Patterns, their eyes sparkle like the brightest star in the November sky. They start doing a lot of off-the-record work inside office. They start going to online groups, start working with friends on open source projects, start reading MSDN Magazines etc. If you ask them, "Can you make it?" They always reply, "Sure, you will get it tomorrow." But usually you get it after a month.
        <li>Intermediate+: Generally you get it within 1 or 2 weeks overdue schedule.
        <li>Advanced: They&nbsp;wear the same&nbsp;"I am a Geek" or&nbsp;"Microsoft Windows XP" logo T-shirts everyday (until it stinks and you can smell it as soon as they enter the office)&nbsp;and shiny sports shoes. They start talking about software development processes, RUP,&nbsp;Extreme Programming, Agile Development&nbsp;etc. If you ask them to do something, they reply "Give me a functional specification, a technical specification, test plans, milestones, release plans, mockups and N number of developers and I will get it done."
        <li>Very advanced: Does not wear shoes, comes to office on sandles. Looks very sober. Shirt is outside pant.&nbsp; When you ask them, do you know .NET events and delegates? They say, "They seem to suffer from bi-directional&nbsp;strong reference problem which prevents garbage collectors from collecting the listener properly and the only way to release the reference is to bring down the app domain"</li>
    </ul>
    <li>Do take Microsoft Certifications without cheating. You will learn a lot.
    <li>Write articles &amp; blogs. Share everything you learn. Someone out there will benefit from it someday. Don't hesitate thinking that you don't know much to write about. </li>
</ul><img src ="http://www.cnblogs.com/Trigon/aggbug/583395.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42814/" target="_blank">[新闻]周一美国股市科技股惨跌 纳综指创4年新低</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>好久没看护自己的家</title><link>http://www.cnblogs.com/Trigon/archive/2006/11/29/576893.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Wed, 29 Nov 2006 13:55:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/11/29/576893.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/576893.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/11/29/576893.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/576893.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/576893.html</trackback:ping><description><![CDATA[<p>好久没来这里了，自从Microlink出来。<br>现在的公司不能上网，刚搬了次家。网线要下个月才能接上。。。。。<br>希望博客朋友见谅。<br><br>由于公司的技术需要，最近在学AJAX，所以以后可能暂时不把精力放在SP上了。<br>所以比较新的一些东西，我并没有去研究，去发掘。所以你遇到的问题我未必能解决。<br><br><br><br></p><img src ="http://www.cnblogs.com/Trigon/aggbug/576893.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42813/" target="_blank">[新闻]关于Firefox 3你不知道的八个功能</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>离开</title><link>http://www.cnblogs.com/Trigon/archive/2006/11/08/554420.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Wed, 08 Nov 2006 10:01:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/11/08/554420.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/554420.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/11/08/554420.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/554420.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/554420.html</trackback:ping><description><![CDATA[今天，选择离开了Microlink。<br>从去年的十月份走过来，公司经历了2次转型。<br>总结在这一年里的收获：<br>在技术上<br>1、学会了SharePoint<br>2、更了解了Asp.net（无论是1.0，还是2.0）。<br>3、真正体会了软件过程体系。<br>4、知道了CM如何工作。<br>5、体会了敏捷开发。<br>6、知道了如何进行团队协作。<br>在商业上<br>1、看到了一个公司是如何成长的<br>2、知道了影响公司的一些重要的因素的微妙关系，包括业务，资金，资源，管理。<br><br>路才真正开始&#8230;&#8230;<br><br><img src ="http://www.cnblogs.com/Trigon/aggbug/554420.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42812/" target="_blank">[新闻]阿里巴巴联手如家扩张电子商务</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SPSiteManager For MOSS2007</title><link>http://www.cnblogs.com/Trigon/archive/2006/10/26/540993.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 26 Oct 2006 10:18:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/10/26/540993.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/540993.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/10/26/540993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/540993.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/540993.html</trackback:ping><description><![CDATA[<p>原本打算把SPSiteManager用于MOSS2007，结果好象不行。于是把SPSiteManager修改了一下。<br>主要修改两处：<br>1、Analys.cs中的查询语句，SPS2003的ContentDatabase中的sites表有Fullurl字段，而现在变为了PortalURL。<br>2、它原本的程序把spsitemanager_syntax.xml嵌入到程序集中，现在单独取出，只要相同目录就可以工作。这样，还可以通过它来查询命令参数。<br><br>其分析功能强大，从Virtual Server开始到SiteCollections、Site、Web、DocLib、Folder、List等。<br>它有点类似stsadm工具。<br>具体操作例如：spsitemanager -o analyze -url http://vsts01:8000/ -targeturl http://vsts01:8000/ -sdd vsts01_allvs_level_0_sdd.xml<br>具体的命令参数可以参考附件中的spsitemanager_syntax.xml文件。<br><br><a href="http://www.cnblogs.com/Files/Trigon/SPSiteManager.rar">SPSiteManager.rar</a><br><br>详细功能及源码请参考其官方blog：<a href="http://blogs.msdn.com/krichie/">krichie</a><br><br>运行要求：机器必须安装了MOSS2007。<br></font></span><br></p><img src ="http://www.cnblogs.com/Trigon/aggbug/540993.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42811/" target="_blank">[新闻]2008年10月7日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SharePoint网站定义</title><link>http://www.cnblogs.com/Trigon/archive/2006/10/26/540385.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Thu, 26 Oct 2006 02:43:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/10/26/540385.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/540385.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/10/26/540385.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/540385.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/540385.html</trackback:ping><description><![CDATA[摘要: 一个网站定义定义了一个种类型的SharePoint网站。安装了MOSS2007后，会在本地的目录C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates中放置各种网站定义模板。STS定义了Team Site（工作组站点），Blank Site（空站点）， 以及 Doc&nbsp;&nbsp;<a href='http://www.cnblogs.com/Trigon/archive/2006/10/26/540385.html'>阅读全文</a><img src ="http://www.cnblogs.com/Trigon/aggbug/540385.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42811/" target="_blank">[新闻]2008年10月7日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>《More Effective C++》笔记一</title><link>http://www.cnblogs.com/Trigon/archive/2006/10/21/535674.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Sat, 21 Oct 2006 05:10:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/10/21/535674.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/535674.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/10/21/535674.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/535674.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/535674.html</trackback:ping><description><![CDATA[<p>条款一<br><strong>原话：</strong>当你需要考虑 <span style="COLOR: red">不指向任何对象</span> 的可能性时，或是考虑 <span style="COLOR: red">在不同时间指向不同对象</span> 的能力时，你就应该采用pointer。前一种情况你可以将 pointer设置为null，后一种情况你可以改变pointer所指对象。而当你确定 <span style="COLOR: red">总是会代表某个对象</span>，而且 <span style="COLOR: red">一旦代表了该对象就不再能够改变</span>，那么你应该选择reference。<br><br>考虑四种情况：<br>1、pointer：声明object*<br>2、const_pointer：声明const objcect*<br>3、reference：声明object&amp;<br>4、const_reference：声明const objcet&amp;<br><br>pointer，可以指向object对象，也可以指向从object继承的对象，只要是前面的对象都可以指向。<br>const_point,可以指向固定对象，一但指向了某个对象，它就不能够指向其他对象了，当然对象里面的变化，它不关心。reference和const_reference也是同样的道理。<br><br>很多人会问，那么pointer和reference有什么区别呢？<br>或许看起来没有什么区别，你就这么想吧，pointer到对象，是指向对象。而reference就是对象。这时候又有人问那么reference和直接声明的对象又有什么区别呢？看看下面的用法：<br>C#的程序员可能有以下幻想<br>object&amp;&nbsp; ro = new objcet&nbsp;;//VC7.1下声明int&amp; iValue=5;静态编译出现Error。<br>object&nbsp; o = new object;<br>但事实上用法应该是这样的，因为在C++里的只能把new的对象给指针，例如object* po=new object。<br>object&nbsp; o;<br>object&amp;&nbsp; ro = o;//<br>这个时候，他们没有什么区别，只不过是名字不同而已，一个为o，另一个为ro，这时候那个对象有两个名字。<br><br>这时候可能又会想那么const_refencence又是怎么回事啊，那就是它所指代的对象不能变化（和const_pointer的区别），即对象状态为const。<br>其实原本想划几个图来表示，那就可以更加直观了。可这个机子没工具，以后再补拉。<br><br><br><br><br><br></p><img src ="http://www.cnblogs.com/Trigon/aggbug/535674.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42809/" target="_blank">[新闻]51.COM技术副总裁邵辉跳槽百度</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>利用GoogleSearchService定制搜索服务</title><link>http://www.cnblogs.com/Trigon/archive/2006/10/20/534881.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Fri, 20 Oct 2006 08:15:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/10/20/534881.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/534881.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/10/20/534881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/534881.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/534881.html</trackback:ping><description><![CDATA[<p><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Google Web APIs service：Google提供给外界定制自己的服务。<br>首先，你必须得先到<span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"><a href="http://www.google.com/apis/">http://www.google.com/apis/</a>去注册一个Account，并获取一个License Key。<br>其次，创建各种类型项目，进行web引用，其地址：<a href="http://api.google.com/GoogleSearch.wsdl">http://api.google.com/GoogleSearch.wsdl</a><br>再次，编写你要定制的代码。<br>最后，显示的结果：<br><img height=328 alt="" src="http://www.cnblogs.com/images/cnblogs_com/trigon/googlesearch.gif" width=267 border=0><br>唯一可惜的是，一个帐户一天只能访问1000次。<br>源码：<a title=GoogleSearch.rar href="http://www.cnblogs.com/Files/Trigon/googlesearch.rar">GoogleSearch.rar</a><br><br></span></span></p><img src ="http://www.cnblogs.com/Trigon/aggbug/534881.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42807/" target="_blank">[新闻]Mono 2.0终于到来</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>VS2003安装Boost1.33.1</title><link>http://www.cnblogs.com/Trigon/archive/2006/10/18/532552.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Wed, 18 Oct 2006 07:14:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/10/18/532552.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/532552.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/10/18/532552.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/532552.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/532552.html</trackback:ping><description><![CDATA[好久没有看C++，最近又拿起买了几年的B.S的那本TCPL。我又提起了对C++的兴趣。然而，学习Boost库是学习C++领域里是不可缺少的步骤，至少我是这么认为的。所以我就Download了其1.33.1版本，发现安装有各种方法，但是对与VS2003，用下面的方法是比较便捷的，特别是对于要设置环境变量的那些方法。<br>下面是我安装Boost1.33.1库的过程：<br>首先安装VS2003和下载Boost1.33.1库我在这里就不多说了。那就开始按下面步骤执行：<br>1、打开控制台窗口，请使用vs2003在开始菜单中的&#8220;Visual Studio.net工具-&gt;Visual Studio.net &nbsp;2003 命令提示&#8221;打开控制台，这样VC.net的的编译环境就设置好了。<br><br>2、假设boost安装包的解压的目录为{BOOSTDIR}中。<br>我的路径{BOOSTDIR}为C:\C++\Library\Boost_1_33_1<br>先编译出bjam.exe，它被用于安装boost库<br>cd {BOOSTDIR}\tools\build\jam_src<br>即：cd&nbsp; C:\C++\Library\Boost_1_33_1\tools\build\jam_src<br>输入build.bat<br><br>3、利用编译出的bjam.exe程序编译并安装boost库<br>cd {BOOSTDIR}<br>即：cd&nbsp; C:\C++\Library\Boost_1_33_1<br>用FileExplorer浏览到{BOOST_SRC}\tools\build\jam_src\bin.ntx86\bjam.exe（即：C:\......\bjam.exe)<br>用Ctrl+C&nbsp;把路径Copy下来，也就是把C:\C++\Library\Boost_1_33_1\tools\build\jam_src\bin.ntx86\bjam.exe<br><br>4、输入C:\C++\Library\Boost_1_33_1\tools\build\jam_src\bin.ntx86\bjam "-sVC71_ROOT=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7" "-sTOOLS=vc-7_1"&nbsp; "-sPYTHON_ROOT=D:\Program Files\Python24" "--prefix=C:\C++\librarys\boost" install<br><br>下面的命令的各选项的说明：<br>prefix&nbsp;&nbsp;&nbsp; 将boost安装到的路径（生成的头文件和库文件都会放到该路径中）。<br>重定义以下变量（利用-s设置，即Set）：<br>VC71_ROOT　　vc2003的安装路径，如果未将vc2003安装到默认位置，你必须指定该项。<br>TOOLS&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;使用的编译工具，vc2003对应的是vc-7_1（可以查看{BOOSTDIR}tools\build\v1下看是否有其对应文件，也就是在vc-7_1后多一个-tools.jam的文件（例如vc-7_1-tools.jam)。<br>PYTHON_ROOT&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; python的安装目录，如果未将BOOST安装到默认位置，你必须指定该项。<br>BUILD&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;编译结果选项，默认会生成尽可能多的版本，如调试版／发行版，静态库／动态库，单线程／多线程。<br><img src ="http://www.cnblogs.com/Trigon/aggbug/532552.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42808/" target="_blank">[新闻]百度任命李一男担任首席技术官</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>dotNet Framework1.1.4322的递归bug?</title><link>http://www.cnblogs.com/Trigon/archive/2006/10/16/530814.html</link><dc:creator>Chatterley</dc:creator><author>Chatterley</author><pubDate>Mon, 16 Oct 2006 14:18:00 GMT</pubDate><guid>http://www.cnblogs.com/Trigon/archive/2006/10/16/530814.html</guid><wfw:comment>http://www.cnblogs.com/Trigon/comments/530814.html</wfw:comment><comments>http://www.cnblogs.com/Trigon/archive/2006/10/16/530814.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/Trigon/comments/commentRss/530814.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Trigon/services/trackbacks/530814.html</trackback:ping><description><![CDATA[<p>今天在用Microsoft.Web.UI.WebControls.TreeView中发现了这个bug。<br>递归过程是加载目录树，用递归的方法一层层加载目录。<br>我创建一个DataTable来递归：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;System;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;Microsoft.Web.UI.WebControls;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;System.Data;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;TestWeb<br><img id=Codehighlighter1_88_2109_Open_Image onclick="this.style.display='none'; Codehighlighter1_88_2109_Open_Text.style.display='none'; Codehighlighter1_88_2109_Closed_Image.style.display='inline'; Codehighlighter1_88_2109_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_88_2109_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_88_2109_Closed_Text.style.display='none'; Codehighlighter1_88_2109_Open_Image.style.display='inline'; Codehighlighter1_88_2109_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_88_2109_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_88_2109_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_91_141_Open_Image onclick="this.style.display='none'; Codehighlighter1_91_141_Open_Text.style.display='none'; Codehighlighter1_91_141_Closed_Image.style.display='inline'; Codehighlighter1_91_141_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_91_141_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_91_141_Closed_Text.style.display='none'; Codehighlighter1_91_141_Open_Image.style.display='inline'; Codehighlighter1_91_141_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_91_141_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_91_141_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><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;Chapters&nbsp;的摘要说明。<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&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><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><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;Chapters<br><img id=Codehighlighter1_166_2107_Open_Image onclick="this.style.display='none'; Codehighlighter1_166_2107_Open_Text.style.display='none'; Codehighlighter1_166_2107_Closed_Image.style.display='inline'; Codehighlighter1_166_2107_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_166_2107_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_166_2107_Closed_Text.style.display='none'; Codehighlighter1_166_2107_Open_Image.style.display='inline'; Codehighlighter1_166_2107_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_166_2107_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_166_2107_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;DataTable&nbsp;m_chapters;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;Chapters()<br><img id=Codehighlighter1_225_293_Open_Image onclick="this.style.display='none'; Codehighlighter1_225_293_Open_Text.style.display='none'; Codehighlighter1_225_293_Closed_Image.style.display='inline'; Codehighlighter1_225_293_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_225_293_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_225_293_Closed_Text.style.display='none'; Codehighlighter1_225_293_Open_Image.style.display='inline'; Codehighlighter1_225_293_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_225_293_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_225_293_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;TODO:&nbsp;在此处添加构造函数逻辑<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_chapters&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;LoadData();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;DataTable&nbsp;LoadData()<br><img id=Codehighlighter1_328_1002_Open_Image onclick="this.style.display='none'; Codehighlighter1_328_1002_Open_Text.style.display='none'; Codehighlighter1_328_1002_Closed_Image.style.display='inline'; Codehighlighter1_328_1002_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_328_1002_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_328_1002_Closed_Text.style.display='none'; Codehighlighter1_328_1002_Open_Image.style.display='inline'; Codehighlighter1_328_1002_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_328_1002_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_328_1002_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable&nbsp;dt&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DataTable();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt.Columns.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DataColumn(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterID</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">typeof</span><span style="COLOR: #000000">(System.Int32)));<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt.Columns.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DataColumn(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">typeof</span><span style="COLOR: #000000">(System.String)));<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt.Columns.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DataColumn(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ParentChapter</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">typeof</span><span style="COLOR: #000000">(System.Int32)));<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataRow&nbsp;dr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dt.NewRow();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterID</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">root</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ParentChapter</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt.Rows.Add(dr);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dt.NewRow();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterID</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">chapter1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ParentChapter</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt.Rows.Add(dr);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dt.NewRow();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterID</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChapterName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">chapter2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dr[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ParentChapter</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt.Rows.Add(dr);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;dt;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_1007_1097_Open_Image onclick="this.style.display='none'; Codehighlighter1_1007_1097_Open_Text.style.display='none'; Codehighlighter1_1007_1097_Closed_Image.style.display='inline'; Codehighlighter1_1007_1097_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1007_1097_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1007_1097_Closed_Text.style.display='none'; Codehighlighter1_1007_1097_Open_Image.style.display='inline'; Codehighlighter1_1007_1097_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1007_1097_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1007_1097_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><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;获取目录结构<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&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="nodes"&gt;</span><span style="COLOR: #008000">TreeView的节点集</span><span style="COLOR: #808080">&lt;/param&gt;</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><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;InitTree(TreeNodeCollection&nbsp;nodes)<br><img id=Codehighlighter1_1149_1370_Open_Image onclick="this.style.display='none'; Codehighlighter1_1149_1370_Open_Text.style.display='none'; Codehighlighter1_1149_1370_Closed_Image.style.display='inline'; Codehighlighter1_1149_1370_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1149_1370_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1149_1370_Closed_Text.style.display='none'; Codehighlighter1_1149_1370_Open_Image.style.display='inline'; Codehighlighter1_1149_1370_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1149_1370_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_1149_1370_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">获取根结点ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><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;rootChapterID&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeNode&nbsp;rootNode&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;TreeNode();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rootNode.Text&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Root</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rootNode.ID&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nodes.Add(rootNode);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitTree(nodes[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].Nodes,rootChapterID);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1374_1515_Open_Image onclick="this.style.display='none'; Codehighlighter1_1374_1515_Open_Text.style.display='none'; Codehighlighter1_1374_1515_Closed_Image.style.display='inline'; Codehighlighter1_1374_1515_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1374_1515_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1374_1515_Closed_Text.style.display='none'; Codehighlighter1_1374_1515_Open_Image.style.display='inline'; Codehighlighter1_1374_1515_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1374_1515_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1374_1515_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><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;获取目录结构<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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="nodes"&gt;</span><span style="COLOR: #008000">TreeView的节点集</span><span style="COLOR: #808080">&lt;/param&gt;</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&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="parentNodeId"&gt;</span><span style="COLOR: #008000">相对父节点Id</span><span style="COLOR: #808080">&lt;/param&gt;</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><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;InitTree(TreeNodeCollection&nbsp;nodes,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;parentNodeId)<br><img id=Codehighlighter1_1585_2104_Open_Image onclick="this.style.display='none'; Codehighlighter1_1585_2104_Open_Text.style.display='none'; Codehighlighter1_1585_2104_Closed_Image.style.display='inline'; Codehighlighter1_1585_2104_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1585_2104_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1585_2104_Closed_Text.style.display='none'; Codehighlighter1_1585_2104_Open_Image.style.display='inline'; Codehighlighter1_1585_2104_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1585_2104_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_1585_2104_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataView&nbsp;dvTree&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;m_chapters.DefaultView;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dvTree.RowFilter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ParentChapter&nbsp;=&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;parentNodeId;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(dvTree.Count</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeNode&nbsp;tnChild;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</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: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;dvTree.Count;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img id=Codehighlighter1_1804_2100_Open_Image onclick="this.style.display='none'; Codehighlighter1_1804_2100_Open_Text.style.display='none'; Codehighlighter1_1804_2100_Closed_Image.style.display='inline'; Codehighlighter1_1804_2100_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1804_2100_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1804_2100_Closed_Text.style.display='none'; Codehighlighter1_1804_2100_Open_Image.style.display='inline'; Codehighlighter1_1804_2100_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1804_2100_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_1804_2100_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataRowView&nbsp;drv&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dvTree[i];<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tnChild&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;TreeNode();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tnChild.Text&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;drv[</span><span style="COLOR: #000000">"</span>