﻿<?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>博客园-format Blog</title><link>http://www.cnblogs.com/format/</link><description>给我个权限,我format你的硬盘.</description><language>zh-cn</language><lastBuildDate>Fri, 05 Dec 2008 06:05:52 GMT</lastBuildDate><pubDate>Fri, 05 Dec 2008 06:05:52 GMT</pubDate><ttl>60</ttl><item><title>SilverLight 的跨域跨域访问</title><link>http://www.cnblogs.com/format/archive/2008/09/02/1282203.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 02 Sep 2008 09:48:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2008/09/02/1282203.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/1282203.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2008/09/02/1282203.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/1282203.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/1282203.html</trackback:ping><description><![CDATA[<P>SilverLight 出于对安全性的考虑默认情况下对URL的访问进行了严格的限制，只允许访问同一子域下的URL资源。<BR><BR>下表列出了Silverlight 2.0 中 URL 访问规则：</P>
<TABLE style="BACKGROUND: #ddd" cellSpacing=1 cellPadding=4 border=0>
<TBODY>
<TR style="BACKGROUND: #ddd">
<TD>&nbsp;</TD>
<TD>WebClient对象</TD>
<TD>Media、images、ASX</TD>
<TD>XAML 文件、Font 文件</TD>
<TD>流媒体</TD></TR>
<TR style="BACKGROUND: #fff">
<TD>允许的协议</TD>
<TD>HTTP, HTTPS</TD>
<TD>HTTP, HTTPS, FILE</TD>
<TD>HTTP, HTTPS, FILE</TD>
<TD>HTTP</TD></TR>
<TR style="BACKGROUND: #fff">
<TD>跨协议访问</TD>
<TD>不允许</TD>
<TD>不允许</TD>
<TD>不允许</TD>
<TD>不允许来自HTTPS的访问</TD></TR>
<TR style="BACKGROUND: #fff">
<TD>跨Web域访问</TD>
<TD>不允许</TD>
<TD>如果不是来自HTTPS则允许</TD>
<TD>不允许</TD>
<TD>允许</TD></TR>
<TR style="BACKGROUND: #fff">
<TD>跨安全区域访问（Windows）</TD>
<TD>不允许</TD>
<TD>不允许</TD>
<TD>不允许</TD>
<TD>不允许</TD></TR>
<TR style="BACKGROUND: #fff">
<TD>跨安全区域访问（Macintosh）</TD>
<TD>不允许</TD>
<TD>允许</TD>
<TD>不允许</TD>
<TD>允许</TD></TR>
<TR style="BACKGROUND: #fff">
<TD>允许重定向</TD>
<TD>同域允许</TD>
<TD>允许</TD>
<TD>同域允许</TD>
<TD>不允许</TD></TR></TBODY></TABLE><BR>如果WCF与SilverLight Web不是在同一站点，那么我们就要在被访问端的根域放上两个XML文件clientaccesspolicy.xml，crossdomain.xml<BR>如果要通过WebClinet访问另一站点的资源，那么需要在被访问站点放上域访问策略xml文件，不然在Complete事件里面的事件参数报告空对象引用。这个问题困扰我很久，现在终于解决，放上来与大家共享。<BR><BR>关于clientaccesspolicy.xml，crossdomain.xml的具体说明，请大家参看MSDN&nbsp; <A href="http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx">http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx</A><img src ="http://www.cnblogs.com/format/aggbug/1282203.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43806/" target="_blank">[新闻]Python 3.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>【笔记】提高中文分词准确性和效率的方法</title><link>http://www.cnblogs.com/format/archive/2008/05/08/1188857.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Thu, 08 May 2008 11:32:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2008/05/08/1188857.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/1188857.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2008/05/08/1188857.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/1188857.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/1188857.html</trackback:ping><description><![CDATA[<FONT size=2>最近在学习中文分词方面的技术。读到</FONT><SPAN><A href="/eaglet/archive/2007/06/02/768856.html"><FONT size=2>KTDictSeg 1.2</FONT></A><FONT size=2>组件的代码深受启发，作此笔记。<BR>&nbsp;&nbsp;&nbsp; 在一切开始之前我们可以用正则表达式把文本中的一些特殊部分过滤出来，比如英文单词，一串数字，日期，Email，电话，邮编，尽可能的过滤，这样减少了实际进行分词的字符，而且准确性更高。<BR>&nbsp;&nbsp;&nbsp; 个人想法：可以把所有拼音组合整理出来，用拼音来记录中文词语的组合，存到字典里，这样字典的尺寸就可以大幅减低。匹配时候把汉字转换为拼音进行匹配。</FONT></SPAN><img src ="http://www.cnblogs.com/format/aggbug/1188857.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43805/" target="_blank">[新闻]JavaFX千呼万唤始出来</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>ASP.NET 动态加载控件激发事件的问题</title><link>http://www.cnblogs.com/format/archive/2007/08/14/855793.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 14 Aug 2007 12:29:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2007/08/14/855793.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/855793.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2007/08/14/855793.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/855793.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/855793.html</trackback:ping><description><![CDATA[<P>&nbsp;&nbsp;&nbsp; 前面一篇&lt;<A id=_b89241d1f13_HomePageDays_DaysList_ctl01_DayItem_DayList_ctl00_TitleUrl href="/format/archive/2007/07/11/813659.html">ASP.NET 动态加载控件的问题</A> &gt;提到过控件时间加载和注册时机的问题,另外还有就是PostBack的问题.除了以上两个问题还有一个控件ID的问题容易被我们忽视.<BR>&nbsp;&nbsp;&nbsp; 在一个动态加载的控件中,又几个动态添加的Button要点击两次才会激发事件,但如果把这几动态添加的按钮直接到页面上而不是控件,那么一切又都正常,非常郁闷的问题,经过努力的探索之后发现给动态添加的按钮的ID属性赋值之后一起就正常了,如果不对ID赋值,那么ASP.NET会自动给控件分配一个ID,在两次PostBack的时候有可能分配不一样的ID值,这就导致按钮要点两下才会激发事件.所以我们在做动态控件时候不要偷懒,一定给ID指定一个值,否则这样的隐性错误实在折磨人.87d9a686</P><img src ="http://www.cnblogs.com/format/aggbug/855793.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43804/" target="_blank">[新闻]Moonlight: Linux 平台下的 Silverlight</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/format/archive/2007/07/24/830058.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 24 Jul 2007 14:45:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2007/07/24/830058.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/830058.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2007/07/24/830058.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/830058.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/830058.html</trackback:ping><description><![CDATA[如果直接用Type.GetMethods()方法获得的只有public的方法.<BR>如果要获得private或protected的方法需要这样:<BR>
<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"><SPAN style="COLOR: #000000">&nbsp;MemberInfo[]&nbsp;mi&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type.FindMembers(MemberTypes.Method,&nbsp;BindingFlags.Default</SPAN><SPAN style="COLOR: #000000">|</SPAN><SPAN style="COLOR: #000000">BindingFlags.NonPublic&nbsp;</SPAN><SPAN style="COLOR: #000000">|</SPAN><SPAN style="COLOR: #000000">&nbsp;BindingFlags.Instance&nbsp;,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">);</SPAN></DIV>注意FindMembers的第二个参数,是Flag,他们必须与<SPAN> Public </SPAN><SPAN>或</SPAN><SPAN> NonPublic </SPAN><SPAN>一起指定</SPAN><SPAN> Instance </SPAN><SPAN>或</SPAN><SPAN> Static</SPAN><SPAN>，否则将不返回成员。</SPAN>&nbsp;<BR><img src ="http://www.cnblogs.com/format/aggbug/830058.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43803/" 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>ASP.NET 动态加载控件的问题</title><link>http://www.cnblogs.com/format/archive/2007/07/11/813659.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Wed, 11 Jul 2007 02:33:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2007/07/11/813659.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/813659.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2007/07/11/813659.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/813659.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/813659.html</trackback:ping><description><![CDATA[<UL>
<LI><FONT size=2>加载控件需要选择特定的时机,否则会出现注册事件无效的情况.<BR>如果重写OnLoadComplete方法来加载控件,那么无论如何控件动态注册的事件都是无法触发的.这个问题费了很大周折才找到.</FONT>
<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"><FONT size=2><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">override</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">&nbsp;OnLoadComplete(EventArgs&nbsp;e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;btn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">&nbsp;Button();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btn.ID&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">btn1</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btn.Text&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Click</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btn.Click</SPAN><SPAN style="COLOR: #000000">+=</SPAN><SPAN style="COLOR: #0000ff">new</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">&nbsp;EventHandler(btn_Click);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">base</SPAN></FONT><SPAN style="COLOR: #000000"><FONT size=2>.OnLoadComplete(e);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</FONT></SPAN></DIV><BR><FONT size=2>在上面代码中注册的btn_Click方式是不会被触发的.个人觉得加载控件的最好时机是OnLoad的时候.</FONT></LI></UL><img src ="http://www.cnblogs.com/format/aggbug/813659.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43802/" 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>.Net 2.0 中的DataGridView</title><link>http://www.cnblogs.com/format/archive/2007/01/04/611873.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Thu, 04 Jan 2007 14:38:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2007/01/04/611873.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/611873.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2007/01/04/611873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/611873.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/611873.html</trackback:ping><description><![CDATA[<P><FONT size=2>在Grid中要现实指定的列时候，不能去调属性：GenerateMember,如果设置成了false，那么编译都通不过。<BR>发现可行的一个做法是：在Form_Load事件中设置Grid的AutoGenerateColumns为False。然后指定列就行了。</FONT><BR></P><img src ="http://www.cnblogs.com/format/aggbug/611873.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43801/" target="_blank">[新闻]AT&T将裁员12,000人</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>模态窗体中，PostBack时候打开新窗口问题的解决</title><link>http://www.cnblogs.com/format/archive/2006/11/27/574160.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Mon, 27 Nov 2006 09:44:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/11/27/574160.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/574160.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/11/27/574160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/574160.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/574160.html</trackback:ping><description><![CDATA[<FONT size=2>如果不进行处理那么在点按钮的时候就会又打开一个新窗口。<BR>处理办法：<BR></FONT>
<OL>
<LI><FONT size=2>在&lt;head&gt;节中加入&lt;base target="_self"&gt;；</FONT> 
<LI><FONT size=2>在模态窗口中用一个IFrame，把显示的东西放到框架中。</FONT></LI></OL><img src ="http://www.cnblogs.com/format/aggbug/574160.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43800/" target="_blank">[新闻]微软本月安全公告预告：6个危急、2个重要</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>Castle ActiveRecord 在Web项目和WinForm项目中</title><link>http://www.cnblogs.com/format/archive/2006/11/21/567808.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 21 Nov 2006 13:34:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/11/21/567808.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/567808.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/11/21/567808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/567808.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/567808.html</trackback:ping><description><![CDATA[<FONT size=2>比较奇怪的现象：<BR>&nbsp;&nbsp;&nbsp;在Web项目中<SPAN style="COLOR: #0000ff"><FONT color=#000000>的</FONT>"hibernate.connection.driver_class"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;<FONT color=#000000>需要是</FONT></SPAN></FONT><SPAN style="COLOR: #0000ff"><FONT size=2>"NHibernate.Driver.OleDbDriver"<FONT color=#000000>，</FONT></FONT><FONT color=#000000 size=2>否则运行就会出错。这个时候是不用用ActiveRecord建立Access数据库的表的。<BR>&nbsp;&nbsp;&nbsp;在WinForm项目中<FONT color=#0000ff>"hibernate.connection.driver_class"</FONT><SPAN style="COLOR: #ff0000">&nbsp;<FONT color=#000000>就可以用</FONT><FONT color=#0000ff>JetDriver<FONT color=#000000>也可以用</FONT>OleDbDriver，<FONT color=#000000>用</FONT>JetDriver<FONT color=#000000>可以建表，用</FONT>OleDbDriver<FONT color=#000000>不</FONT></FONT><FONT color=#000000>可以建表。</FONT></SPAN><BR>&nbsp;&nbsp;&nbsp;为什么在Web项目中不可以用JetDriver现在还不明白，继续研究。</FONT></SPAN><img src ="http://www.cnblogs.com/format/aggbug/567808.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43799/" 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>Castle ActiveRecord 在GridView数据绑定时候的一个问题</title><link>http://www.cnblogs.com/format/archive/2006/10/25/539780.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Wed, 25 Oct 2006 09:36:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/10/25/539780.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/539780.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/10/25/539780.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/539780.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/539780.html</trackback:ping><description><![CDATA[在ASP.NET Grid中编辑第一行Row，RowUpdating事件的时候，如果这样写：<BR><BR>
<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"><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;grdCatalog_RowUpdating(</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">&nbsp;sender,&nbsp;GridViewUpdateEventArgs&nbsp;e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.SelectedIndex&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;e.RowIndex;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;id&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.SelectedValue;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Catalog&nbsp;ca&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;CatalogDataAccess.FindCatalogByID(id);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Name&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(grdCatalog.Rows[e.RowIndex].Cells[</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">].Controls[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;TextBox).Text;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Comment&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(grdCatalog.Rows[e.RowIndex].Cells[</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">].Controls[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;TextBox).Text;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Culture&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(grdCatalog.Rows[e.RowIndex].Cells[</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">].FindControl(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">drpCulture</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;DropDownList).SelectedValue;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Update();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.EditIndex&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">;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.DataSource&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;CatalogDataAccess.FindAll(</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.PageIndex,&nbsp;pageSize);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.DataBind();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN></DIV>那么在DataBind()的时候就说报告一个类型不匹配的错误。如果编辑第一行以外的行都正常，就第一行不行。<BR>经过反复跟踪调试，我发现如果这样以来好像第一行的对象内部的字段没有被ActiveRecord赋上值，所以出错。<BR>现在我想了个笨办法把问题解决了，不知道有没有更好的办法。<BR>方法的思路是这样的：在Update的时候SessionScope已经用过了，那么在获得DataSource的时候就再新用一个SessionScope。用下面这样的代码就解决问题了：<BR>
<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"><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;grdCatalog_RowUpdating(</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">&nbsp;sender,&nbsp;GridViewUpdateEventArgs&nbsp;e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.SelectedIndex&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;e.RowIndex;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;id&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.SelectedValue;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Catalog&nbsp;ca&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;CatalogDataAccess.FindCatalogByID(id);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SessionScope&nbsp;scope&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;HttpContext.Current.Items[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">nh.sessionscope</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;SessionScope;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Name&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(grdCatalog.Rows[e.RowIndex].Cells[</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">].Controls[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;TextBox).Text;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Comment&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(grdCatalog.Rows[e.RowIndex].Cells[</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">].Controls[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;TextBox).Text;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Culture&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(grdCatalog.Rows[e.RowIndex].Cells[</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">].FindControl(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">drpCulture</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;DropDownList).SelectedValue;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ca.Update();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(scope&nbsp;</SPAN><SPAN style="COLOR: #000000">!=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scope.Dispose();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">using</SPAN><SPAN style="COLOR: #000000">(scope&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;SessionScope())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpContext.Current.Items.Remove(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">nh.sessionscope</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpContext.Current.Items.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">nh.sessionscope</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,scope);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.EditIndex&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">;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.DataSource&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;CatalogDataAccess.FindAll(</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.PageIndex,&nbsp;pageSize);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.grdCatalog.DataBind();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;</SPAN></DIV><BR>代码中涉及一些在ASP.NET用使用ActiveRecord的方法和机制，请参看<A href="http://www.castleproject.com/">http://www.castleproject.com/</A><img src ="http://www.cnblogs.com/format/aggbug/539780.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43798/" target="_blank">[新闻]IBM发布“无微软”虚拟桌面系统</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>把CSV文件读到一个DataTable中</title><link>http://www.cnblogs.com/format/archive/2006/07/26/460075.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Wed, 26 Jul 2006 06:04:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/07/26/460075.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/460075.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/07/26/460075.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/460075.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/460075.html</trackback:ping><description><![CDATA[在处理CSV文件的时候发现，不能简单的用逗号来拆分内容，如果在双引号里面有逗号，那么这行将解析错误。最后找到个用正则表达式来splite的简单方面。原理就是用<FONT color=#ff0000>","</FONT>来作为拆分的标记。<BR><BR>
<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"><SPAN style="COLOR: #808080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ///</SPAN><SPAN style="COLOR: #008000">&nbsp;</SPAN><SPAN style="COLOR: #808080">&lt;summary&gt;</SPAN><SPAN style="COLOR: #008000"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;把一个CSV文件读到一个DataTable中<BR>&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>&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="strpath"&gt;</SPAN><SPAN style="COLOR: #008000">文件完整路径</SPAN><SPAN style="COLOR: #808080">&lt;/param&gt;</SPAN><SPAN style="COLOR: #008000"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;</SPAN><SPAN style="COLOR: #808080">&lt;returns&gt;</SPAN><SPAN style="COLOR: #008000">DataTable</SPAN><SPAN style="COLOR: #808080">&lt;/returns&gt;</SPAN><SPAN style="COLOR: #808080"><BR></SPAN><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">static</SPAN><SPAN style="COLOR: #000000">&nbsp;DataTable&nbsp;GetTable(</SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">&nbsp;strpath)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Regex&nbsp;reg&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Regex(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">\</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,\</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;intColCount&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable&nbsp;mydt&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(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">myTableName</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">DataColumn&nbsp;mydc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">DataRow&nbsp;mydr;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">string&nbsp;strpath&nbsp;=&nbsp;"";</SPAN><SPAN style="COLOR: #008000"><BR></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">&nbsp;strline;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">[]&nbsp;aryline;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamReader&nbsp;mysr&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;StreamReader(strpath,System.Text.Encoding.Default);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strline&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;mysr.ReadLine();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aryline&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;reg.Split(strline);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intColCount&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;aryline.Length;<BR>&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;aryline.Length;&nbsp;i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataColumn&nbsp;mydc&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;DataColumn(aryline[i].Replace(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">\</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">),&nbsp;typeof(string));</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mydt.Columns.Add(mydc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;((strline&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;mysr.ReadLine())&nbsp;</SPAN><SPAN style="COLOR: #000000">!=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aryline&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;reg.Split(strline);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataRow&nbsp;mydr&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;mydt.NewRow();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&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;intColCount;&nbsp;i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mydr[i]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;aryline[i].Replace(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">\</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">);</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mydt.Rows.Add(mydr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;mydt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></DIV><img src ="http://www.cnblogs.com/format/aggbug/460075.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43797/" target="_blank">[新闻]2008年12月5日科技博客精选</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 Live Favourites 收藏入口</title><link>http://www.cnblogs.com/format/archive/2006/07/25/458904.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 25 Jul 2006 01:38:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/07/25/458904.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/458904.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/07/25/458904.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/458904.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/458904.html</trackback:ping><description><![CDATA[<P>留意这个信息,现在,Windows Live Favourites可以用一个点击来把您的网站添加到用户的网络收藏夹中,并且可以通过多种渠道读取(例如Messenger)官方已经放出了一段简短的实现代码,下载一个图片链接好就可以做到.为什么不给自己的网站+一个呢?</P>
<P>1,首先,保存这个图片并上传到服务器或者引用.<A href="https://favorites.live.com/quickadd.aspx?url=http://www.cnblogs.com/format/&amp;title=format's blog" target=_blank><IMG height=23 alt=addtolive.png src="http://www.cnblogs.com/images/cnblogs_com/format/addtolive.png" width=99 border=0></A></P>
<P>2.在图片上做如下链接.</P>
<P><A href="https://favorites.live.com/quickadd.aspx?url=http://your-url/&amp;title=title-of-website">https://favorites.live.com/quickadd.aspx?url=http://your-url/&amp;title=title-of-website</A></P>
<P>其中<A href="http://your-url/">http://your-url/</A>为您的网站地址;title-of-website为保存的标题</P>
<P>如果添加target=”_blank” 语句,访客再添加收藏夹的时候不会失去对您网站的访问视野.</P>
<P>3.Enjoy.</P><img src ="http://www.cnblogs.com/format/aggbug/458904.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43796/" target="_blank">[新闻]Google和Facebook同日推Connect数据迁移功能</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>对Outlook 编程的学习笔记</title><link>http://www.cnblogs.com/format/archive/2006/07/24/458481.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Mon, 24 Jul 2006 09:46:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/07/24/458481.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/458481.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/07/24/458481.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/458481.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/458481.html</trackback:ping><description><![CDATA[先收藏两个连接：<BR><A href="http://www.microsoft.com/china/msdn/library/langtool/vcsharp/USdv_vstechartol03csharp.mspx">使用 C# 进行 Outlook 2003 编程的简介</A><BR><A href="http://www.microsoft.com/china/msdn/archives/library/dncscol/html/csharp05152003.asp">Excel、Exchange 和 C#</A><BR><BR>步骤是这样的：<BR>第一建立Application对象<BR>&nbsp;&nbsp;&nbsp;ApplicationClass outLookApp = new ApplicationClass();<BR>第二建立相应的Outlook项的对象<BR>&nbsp;&nbsp;&nbsp;AppointmentItem newTask =<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (AppointmentItem)outLookApp.CreateItem(OlItemType.olAppointmentItem);<BR>&nbsp;&nbsp;&nbsp;这里是显示转化类型，如果是task那么类型就是 TaskItem。这一点困扰了我很久。<BR>第三对Outlook对象赋值，保存<BR>最后outLookApp.Quit();<BR><img src ="http://www.cnblogs.com/format/aggbug/458481.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43795/" target="_blank">[新闻]UserAgent的历史变迁</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>编程使用GridView，DataList的模版列</title><link>http://www.cnblogs.com/format/archive/2006/05/27/410442.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Fri, 26 May 2006 17:09:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/05/27/410442.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/410442.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/05/27/410442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/410442.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/410442.html</trackback:ping><description><![CDATA[费了很大周折，才找个这个<U><A href="http://www.cnblogs.com/lovecherry/archive/2005/03/25/125526.html"><FONT color=#000080>LoveCherry - (原创)DataGrid动态添加模板列的一个例子</FONT></A></U><br><FONT color=#000000>原来模版项，是新的一个实现ITemplate接口的类。这个接口的InstantiateIn方法就是控制添加哪些控件的。<BR><BR>在这个类定义完了后，把它的实例赋值给模版列的ItemTemplate属性。<BR><BR><BR>
<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"><SPAN style="COLOR: #008080">&nbsp;1</SPAN>&nbsp;<SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;EditTemplate&nbsp;:&nbsp;ITemplate<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;2</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;3</SPAN>&nbsp;<SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;4</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">#region</SPAN><SPAN style="COLOR: #000000">&nbsp;ITemplate&nbsp;Members</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;5</SPAN>&nbsp;<SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;6</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;InstantiateIn(Control&nbsp;container)<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;7</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;8</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;btnEdit&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button();<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;9</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btnEdit.CommandName&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">EditUserInfo</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">10</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btnEdit.ID&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">btnEdit</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">11</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btnEdit.Text&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">编辑</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">12</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container.Controls.Add(btnEdit);<BR></SPAN><SPAN style="COLOR: #008080">13</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR></SPAN><SPAN style="COLOR: #008080">14</SPAN>&nbsp;<SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">15</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">#endregion</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">16</SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></DIV></FONT><BR>仔细思考下，这种处理模板方法妙，我们可以在模板类中进行复杂的控制和操作，然后透过一个接口方法把控件放到容器里面。<img src ="http://www.cnblogs.com/format/aggbug/410442.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43794/" target="_blank">[新闻]棱角分明: Google Reader 阅读器外观和功能更新</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>推荐个很好玩的开源项目--Ascii Generator dotNET</title><link>http://www.cnblogs.com/format/archive/2006/05/18/403656.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Thu, 18 May 2006 09:16:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/05/18/403656.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/403656.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/05/18/403656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/403656.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/403656.html</trackback:ping><description><![CDATA[<P>这类从图片生产ASCII字符组合的程序不算新鲜，之前就有很多类似的程序了，不过这个是完全用C#写的。代码拿下来可以好好的学习下用C#怎么处理图片，而且他的代码质量非常高，值得学习。<BR><BR>项目网站：<A href="http://sourceforge.net/projects/ascgen2">http://sourceforge.net/projects/ascgen2</A><BR><BR><BR><IMG height=128 alt=Cartoon5.jpg src="http://www.cnblogs.com/images/cnblogs_com/format/Cartoon5.jpg" width=128 border=0>------〉<IMG height=349 alt=ascii.GIF src="http://www.cnblogs.com/images/cnblogs_com/format/ascii.GIF" width=358 border=0></P><img src ="http://www.cnblogs.com/format/aggbug/403656.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43793/" target="_blank">[新闻]雅虎董事伊坎迷恋微软 反对AOL前CEO米勒插足</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>ASP.NET 2.0 用户注册控件的密码验证问题</title><link>http://www.cnblogs.com/format/archive/2006/05/04/391458.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Thu, 04 May 2006 05:10:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/05/04/391458.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/391458.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/05/04/391458.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/391458.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/391458.html</trackback:ping><description><![CDATA[<p>
				<font size="2">遇到了这个问题。<br /></font>
				<font size="2">就是CreateUserWizard这个控件，所此输入密码，都返回这样的错误提示：<br /></font>
				<font size="2">“密码最短长度为 7，其中必须包含以下非字母数字字符: 1。”。<br /></font>
				<font size="2">但是输入1，密码的长度大于7位以后，这个问题还是存在。为什么呢？</font>
				<br />
				<br />
				<br />
				<font size="2">
						<a class="" title="答案" href="http://hjh1982.cnblogs.com/archive/2006/03/18/352734.html?Pending=true#Post" target="_blank">北方弓箭手找到了答案。</a>
						<br />
						<br />我也查MSDN找出了一个改变起验证规则的方法：<br /><br />改边配置节的属性<br /></font>
				<font size="2">
				</font>
		</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">
				<span style="COLOR: #008080">1</span> <span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">membership</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">2</span> <span style="COLOR: #000000">      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">providers</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">3</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">add </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="AspNetSqlMembershipProvider"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"</span><span style="COLOR: #ff0000"> connectionStringName</span><span style="COLOR: #0000ff">="LocalSqlServer"</span><span style="COLOR: #ff0000"> enablePasswordRetrieval</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #ff0000"> enablePasswordReset</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> requiresQuestionAndAnswer</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> applicationName</span><span style="COLOR: #0000ff">="/"</span><span style="COLOR: #ff0000"> requiresUniqueEmail</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #ff0000"> passwordFormat</span><span style="COLOR: #0000ff">="Hashed"</span><span style="COLOR: #ff0000"> maxInvalidPasswordAttempts</span><span style="COLOR: #0000ff">="5"</span><span style="COLOR: #ff0000"> minRequiredPasswordLength</span><span style="COLOR: #0000ff">="7"</span><span style="COLOR: #ff0000"> minRequiredNonalphanumericCharacters</span><span style="COLOR: #0000ff">="1"</span><span style="COLOR: #ff0000"> passwordAttemptWindow</span><span style="COLOR: #0000ff">="10"</span><span style="COLOR: #ff0000"> passwordStrengthRegularExpression</span><span style="COLOR: #0000ff">=""</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">4</span> <span style="COLOR: #000000">      </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">providers</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">5</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">6</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">membership</span><span style="COLOR: #0000ff">&gt;</span></div>其中<br /><span style="COLOR: #ff0000">minRequiredPasswordLength</span><span style="COLOR: #0000ff">="7"</span><span style="COLOR: #ff0000"> <font color="#008000"> －－密码最小长度<br /></font>minRequiredNonalphanumericCharacters</span><span style="COLOR: #0000ff">="1"</span><span style="COLOR: #ff0000">  <font color="#006400">－－包含的非字母字符个数<br /></font></span><span style="COLOR: #ff0000">passwordStrengthRegularExpression</span><span style="COLOR: #0000ff">=""</span><span style="COLOR: #ff0000">  －－判断密码强度的正则表达式</span><br /><br /><font size="2">修改他们就可以改变密码验证策略。</font><img src ="http://www.cnblogs.com/format/aggbug/391458.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43792/" 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>CSS学习笔记</title><link>http://www.cnblogs.com/format/archive/2006/03/23/357186.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Thu, 23 Mar 2006 13:47:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/03/23/357186.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/357186.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/03/23/357186.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/357186.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/357186.html</trackback:ping><description><![CDATA[<p>
				<font size="2">很久没有开发Web的东西了，磨一磨宝刀。<br /><br /><strong>CSS语法<br /></strong><br /><blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><font color="#0000ff">定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同，定义ID选择符的属性也有两种方法。下面这个例子，ID属性将匹配所有id="intro"的元素：<br /></font>#intro<br />{<br />font-size:110%;<br />font-weight:bold;<br />color:#0000ff;<br />background-color:transparent<br />}<br /><br /><font color="#0000ff">下面这个例子，ID属性只匹配id="intro"的段落元素：<br /></font>p#intro<br />{<br />font-size:110%;<br />font-weight:bold;<br />color:#0000ff;<br />background-color:transparent<br />}<br /><br /><br /><font style="BACKGROUND-COLOR: #ffffff" color="#0000ff">伪类和类选择符</font><p><font color="#0000ff">将伪类和类组合起来用，就可以在同一个页面中做几组不同的链接效果了，例如，我们定义一组链接为红色，访问后为蓝色；另一组为绿色，访问后为黄色：<br /></font>a.red:link {color: #FF0000}<br />a.red:visited {color: #0000FF}<br />a.blue:link {color: #00FF00}<br />a.blue:visited {color: #FF00FF}<br />现在应用在不同的链接上：<br />&lt;a class="red" href="..."&gt;这是第一组链接&lt;/a&gt;<br />&lt;a class="blue" href="..."&gt;这是第二组链接&lt;/a&gt;</p><br /> </blockquote></font>
		</p>
		<p>
		</p>
		<p>
		</p>
		<br />
		<p>
				<font size="2">1. Type（类型）</font>
		</p>
		<p>
				<font size="2">Type面板主要是对文字的字体，大小，颜色，效果等基本样式进行设置。设置时，我们只对要改变的属性进行设置，没有必要改变的属性就空着。</font>
		</p>
		<p>
				<font size="2">注意：属性名带*号的是指样式效果不能在编辑文档时显示，要用浏览器打开才能看到效果。</font>
		</p>
		<p>
				<font size="2">
				</font>
		</p>
		<p>
				<font size="2">Font：设置字体系列。什么叫字体系列呢？是指对文字设定几个字体，当遇到第一个字体不能显示的文字时会自动用系列中的第二个字体或后面的字体显示。相对应的CSS属性是”font-family”。</font>
		</p>
		<p>
				<font size="2">注意：Dreamweaver4已经内置设定了6个系列的英文字体，一般英文字体我们用“Verdana, Arial, Helvetica, sans-serif”这个系列比较好看。如果不用这些字体系列，你就需要自己编辑字体系列，你可以通过下拉框最下面的“Edit Font List”来创建新的字体系列，也可以直接手动在下拉框里写字体名，字体之间用逗号隔开。中文网页默认字体是宋体，一般就空着不要选取任何字体。</font>
		</p>
		<p>
				<font size="2">Size：定义文字的大小。你可以通过选取数字和度量单位来选择具体的字体大小，或者你也可以选择一个相对的字体大小。最好使用Pixels作为单位，这样不会在浏览器中文本变形。一般小字体用比较标准的12px。相对应的CSS属性是”font-size”。</font>
		</p>
		<p>
				<font size="2">注意：CSS中长度的单位分绝对长度单位和相对长度单位，一般我们常用的绝对长度单位有： px：（象素）根据显示器的分辨率来确定长度。</font>
		</p>
		<p>
				<font size="2">pt：（字号）根据windows系统定义的字号大小来确定长度。</font>
		</p>
		<p>
				<font size="2">mm、cn、in：（毫米、厘米、英寸）根据显示的实际尺寸来确定长度。此类单位不随显示器的分辨率改变而改变。</font>
		</p>
		<p>
				<font size="2">相对长度单位有：</font>
		</p>
		<p>
				<font size="2">em：当前文本的尺寸。例如：{ font-size:2em}是指文字大小为原来的2倍。</font>
		</p>
		<p>
				<font size="2">ex：当前字母“x”的高度，一般为字体尺寸的一半。</font>
		</p>
		<p>
				<font size="2">%：是以当前文本的百分比定义尺寸。例如：{ font-size:300%}是指文字大小为原来的3倍。</font>
		</p>
		<p>
				<font size="2">small、large：表示比当前小一个级别或大一个级别的尺寸。 Style：定义字体样式为Normal、Italic、或者Oblique。Italic和Oblique是斜体字体。默认设置为 Normal。相对应的CSS属性是”font-style”。</font>
		</p>
		<p>
				<font size="2">注意：Italic和Oblique都是斜体字体。而它们不同的是，Italic是斜体字，而Oblique是倾斜的文字，对于没有斜体的字体应该用Oblique。</font>
		</p>
		<p>
				<font size="2">Line Height：设置文本所在行的行高。默认为Normal，你也可以自己键入一个精确的数值并选取一个计量单位。比较直观的写法用百分比，例如140%是指行高等于文字大小的1.4倍。相对应的CSS属性是”line-height”。</font>
		</p>
		<p>
				<font size="2">Decoration：在文本中添加underline（下划线）、overline（上划线）、line-through（中划线）、blink（闪烁效果）。这些效果可以同时存在，将效果前的复选框选定即可。相对应的CSS属性是”text-decoration”。</font>
		</p>
		<p>
				<font size="2">注意：链接的默认设置是Underline，我们可以通过选none去除下划线。Blink（闪烁效果）只在NC浏览器里可以看到。</font>
		</p>
		<p>
				<font size="2">Weight：给字体指定粗体字的磅值。Normal等同于400；Bold等同于700。设粗体字一般用bold。相对应的CSS属性是”font-weight”。</font>
		</p>
		<p>
				<font size="2">Variant：允许你选取字体的变种，选small-caps（小型大写字母）时，此样式区域内所有字母大写。相对应的CSS属性是”font-variant”。</font>
		</p>
		<p>
				<font size="2">Case：将选区中每个单词的第一个字母转为大写，或者令单词全部大写或全部小写。参数：capitalize（单词首字母大写）、uppercase（转换成大写）、lowercase（转换成小写）、none（不转换）。相对应的CSS属性是” text-transform”。</font>
		</p>
		<p>
				<font size="2">Color：定义文字颜色。相对应的CSS属性是” color”。</font>
		</p>
		<p>
				<font size="2">注意：CSS中颜色的值有三种表示方法：</font>
		</p>
		<p>
				<font size="2">l #RRGGBB格式，是由红绿蓝三种颜色的值组合，每种颜色的值为“00 – FF”的两位十六进制正整数。例如：#FF0000表示红色，#FFFF00表示黄色。</font>
		</p>
		<p>
				<font size="2">l rgb(R,G,B)格式，RGB为三色的值，取0~255，例如：rgb(255,0,0)表示红色，rgb(255,255,0)表示黄色。</font>
		</p>
		<p>
				<font size="2">l 用颜色名称。CSS可以使用已经定义好的颜色名称。例如：red表示红色，yellow表示黄色。</font>
		</p>
		<p>
				<font size="2">2. Background（背景）</font>
		</p>
		<p>
				<font size="2">Background面板主要是对元素的背景进行设置，包括背景颜色、背景图象、背景图象的控制。一般是对BODY（页面）、TABLE（表格）、DIV（区域）的设置。</font>
		</p>
		<p>
				<font size="2">Background Color：设置元素的背景色。相对应的CSS属性是”background-color”。</font>
		</p>
		<p>
				<font size="2">Background Image：设置元素的背景图像。相对应的CSS属性是”background-image”。</font>
		</p>
		<p>
				<font size="2">Repeat：确定背景图像是否以及如何重复。No Repeat：在元素的开头显示一遍图像。Repeat：在元素的背景部分水平和垂直方向平铺图像。Repeat-x and Repeat-y：分别在水平和垂直方向重复显示，默认为Repeat。相对应的CSS属性是”background-repeat”。</font>
		</p>
		<p>
				<font size="2">注意：如果定义的元素的BODY，可以控制页面背景是否重复。</font>
		</p>
		<p>
				<font size="2">Attachment：固定背景图像或者跟随内容滚动。参数fixed表示固定背景，scroll表示跟随内容滚动的背景。相对应的CSS属性是”background-attachment”。</font>
		</p>
		<p>
				<font size="2">注意：如果定义的元素的BODY，可以使页面背景固定。</font>
		</p>
		<p>
				<font size="2">Horizontal：指定背景图像的水平位置。可以指定为left（左边），center（居中），right（右边）；也可以指定数值，如20px是指背景距离左边20象素。相对应的CSS属性是” background-position”。</font>
		</p>
		<p>
				<font size="2">Vertical：指定背景图像的垂直位置。可以指定为top（顶部），center（居中），bottom（底部）；也可以指定数值。相对应的CSS属性是” background-position”。</font>
		</p>
		<p>
				<font size="2">注意：水平位置和垂直位置使用的是同一个CSS属性，在设置时要注意。</font>
		</p>
		<p>
				<font size="2">3. Block（区块）</font>
		</p>
		<p>
				<font size="2">Block面板主要是设置对象文本的文字间距、对齐方式、上标、下标、排列方式、首行缩进等。</font>
		</p>
		<p>
				<font size="2">Word Spacing：设置单词之间的间距。可以设置负值。相对应的CSS属性是” word-spacing”。</font>
		</p>
		<p>
				<font size="2">注意：一般情况下IE不支持此属性，仅在MAC平台上的IE4+可用。</font>
		</p>
		<p>
				<font size="2">Letter Spacing：设置字符之间的间距。可以指定负值。因为中文也是字符，这个参数可以设置文字间的间距。相对应的CSS属性是” letter-spacing”。</font>
		</p>
		<p>
				<font size="2">Vertical Align：指定元素的垂直对齐方式。可以指定sub（下标）、super（上标）、top（与顶端对齐）、middle（居中）、bottom（与底端对齐）……。相对应的CSS属性是” vertical-align”。</font>
		</p>
		<p>
				<font size="2">Text Align：设置文本的排列方式。Left（左对齐）、right（右对齐）、center（居中）、justify（两端对齐）。相对应的CSS属性是”text-align”。</font>
		</p>
		<p>
				<font size="2">Text Indent：设置文本第一行的缩进值。负值用于将文本第一行向外拉。要在每段前空两格，可设置为2em，因为em是当前字体尺寸，2em就是两个字的大小。相对应的CSS属性是”text-indent”。</font>
		</p>
		<p>
				<font size="2">Whitespace：设置如何处理元素内的空白符。有三个选项可选：Normal 会将空白符全部压缩；Pre 则会如同处理 pre 标签内的文本一样处理这些空白符（也就是说，所有的空白符，包括空格，标签，回车，等都会得以保留）；Nowrap 指定文本只有遇到 br 标签时才换行。相对应的CSS属性是”white-space”。<br />4. Box（盒子）</font>
		</p>
		<p>
				<font size="2">Box面板主要设置对象的边界、间距、高度、宽度、和漂浮方式等。</font>
		</p>
		<p>
				<font size="2">Width：定义元素的宽。相对应的CSS属性是”width”。</font>
		</p>
		<p>
				<font size="2">Height：定义元素的高。相对应的CSS属性是”height”。</font>
		</p>
		<p>
				<font size="2">注意：宽和高定义的对象多为图片，表格，层等。</font>
		</p>
		<p>
				<font size="2">Float：定义元素的漂浮方式。left 表示对象浮在左边、right表示对象浮在右边、none 表示对象不浮动。相对应的CSS属性是”float”。</font>
		</p>
		<p>
				<font size="2">Clear：不允许元素的漂浮。left表示不允许左边有浮动对象、right表示不允许右边有浮动对象、none表示允许两边都可以有浮动对象、both不允许有浮动对象。相对应的CSS属性是”clear”。</font>
		</p>
		<p>
				<font size="2">Padding：定义元素内容与其边框的空距（如果元素没有边框就是指页边的空白）。可以分别设置top（上补白）、right（右补白）、bottom（下补白）、left（左补白）的值。相对应的CSS属性分别是”padding; padding-top; padding-right; padding-bottom; padding-left”。</font>
		</p>
		<p>
				<font size="2">Margin：定义元素的边框与其他元素之间的距离（如果没有边框就是指内容之间的距离）。可以分别设置top（上边界）、right（右边界）、bottom（下边界）、left（左边界）的值。相对应的CSS属性分别是”margin; margin-top; margin-right; margin-bottom; margin-left”。</font>
		</p>
		<p>
				<font size="2">下面是补白、边框、边界之间的关系图：</font>
		</p>
		<p>
				<font size="2">5. Border（边框）</font>
		</p>
		<p>
				<font size="2">Border面板可以设置对象边框的宽度、颜色及样式。</font>
		</p>
		<p>
				<font size="2">Width：设置元素边的宽度。可以分别设定Top（上边宽）、Right（右边宽）、Bottom（下边宽）、Left（左边宽）的值。相对应的CSS属性分别是”border; border-top; border-right; border-bottom; border-left”。</font>
		</p>
		<p>
				<font size="2">Color：设置边框的颜色。你可以分别对每条边设置颜色。相对应的CSS属性分别是”border-color; border-top-color; border-right-color; border-bottom-color; border-left-color”。</font>
		</p>
		<p>
				<font size="2">注意：我们可以通过设置不同的颜色做出亮边和暗边的效果，这样元素看起来是立体的。</font>
		</p>
		<p>
				<font size="2">Style：设置边框样式。可以设置为none（无边框）、dotted（点线）、dashed（虚线）、solid（实线）、double（双线）、groove（凹槽）、ridge（凸槽）、inset（凹边）、outset（凸边）等边框样式。相对应的CSS属性是”border-style”。</font>
		</p>
		<p>
				<font size="2">注意：dotted（点线）、dashed（虚线）必须要IE5.5以上或者MAC平台支持，否则效果为实线。</font>
		</p>
		<p>
				<font size="2">6. List（列表）</font>
		</p>
		<p>
				<font size="2">List面板可以设置列表项样式、列表项图片、和位置。</font>
		</p>
		<p>
				<font size="2">Type：设置列表项所使用的预设标记。可以设置的样式有：disc（实心圆）、circle（空心圆）、square（方块）、decimal（阿拉伯数字）、lower-roman（小写罗马数字）、upper-roman（大写罗马数字）、lower-alpha（小写英文字母）、upper-alpha（大写英文字母）、none（无项目符号）。相对应的CSS属性是”list-style-type”。</font>
		</p>
		<p>
				<font size="2">Bullet Image：设置列表项的图像。值为图象的URL地址或路径。 相对应的CSS属性是”list-style-image”。</font>
		</p>
		<p>
				<font size="2">Position：设置列表项在文本内还是在文本外。Inside：列表项目标记放置在文本以内，Outside：列表项目标记放置在文本以外。相对应的CSS属性是”list-style-position”。</font>
		</p>
		<p>
				<font size="2">7. Positioning（定位）</font>
		</p>
		<p>
				<font size="2">Positioning面板就相当于对象放在一个层里来定位，它相当于HTML的DIV标记。你可以把定义看作为一个CSS定义的层。</font>
		</p>
		<p>
				<font size="2">Type：设定对象的定位方式。有三种方式：Absolute（绝对定位）、Relative（相对定位）、Static（无特殊定位）。相对应的CSS属性是”position”。</font>
		</p>
		<p>
				<font size="2">Visibility：设定对象定位层的最初显示状态。有三种状态：Inherit（继承父层的显示属性）、Visible（对象可视）、Hidden隐藏对象。相对应的CSS属性是”visibility”。</font>
		</p>
		<p>
				<font size="2">Z-Index：设置对象的层叠顺序。编号较大的层会显示在编号较小的层上边。变量值可以是正值也可以是负值。相对应的CSS属性是”z-index”。</font>
		</p>
		<p>
				<font size="2">Overflow：设置如果层的内容超出了层的大小时如何处理。有四种处理方式：visible，增加层的大小，从而将层的所有内容显示出来；hidden，保持层的大小不变，将超出层的内容剪裁掉；Scroll，总是显示滚动条；Auto，只有在内容超出层的边界时才显示滚动条。相对应的CSS属性是”overflow”。</font>
		</p>
		<p>
				<font size="2">Placement：设置对象定位层的位置和大小。可以分别设置left（左边定位）、top（顶部定位）、width（宽）、height（高）。相对应的CSS属性分别是”left; top; width; height”。</font>
		</p>
		<p>
				<font size="2">Clip：定义定位层的可视区域。区域外的部分为不可视区，为透明的。可以理解为在定位层上放一个矩形遮罩的效果。相对应的CSS属性是”clip”。</font>
		</p>
		<p>
				<font size="2">注意：此参数只要在绝对定位时有效。</font>
		</p>
		<p>
				<font size="2">注意：当Type里设定了绝对定位后，会为对象加上一个绝对定位的层。这个CSS创建的层同一般的层一样有属性面板，也显示在层管理面板中。你可以通过设置这个定位层的属性面板修改上述参数，不过在此属性面板里改动的值会作为内嵌样式加在对象标记后面，下图是定位层的属性面板：</font>
		</p>
		<p>
				<font size="2">8. Extensions（扩展）</font>
		</p>
		<p>
				<font size="2">Pagebreak：在打印的时候强迫在样式控制的对象前后换页。</font>
		</p>
		<p>
				<font size="2">Before：设置对象前出现的页分割符。设置为always时，始终在对象之前插入页分割符。相对应的CSS属性是”page-break-before”。</font>
		</p>
		<p>
				<font size="2">After：设置对象后出现的页分割符。设置为always时，始终在对象之后插入页分割符。相对应的CSS属性是”'&gt;。</font>
		</p>
		<p>
				<font size="2">注意：以上IE5仅支持always值和空白值（null）。</font>
		</p>
		<p>
				<font size="2">Cursor：当鼠标滑过样式控制的对象时改变鼠标形状。可以设置为hand（手型）、crosshair（“十”型）、text （“I”型）、wait（等待）、default（默认）、help（帮助）、e-resize（东箭头）、ne-resize（东北箭头）、n-resize（北箭头）、nw-resize（西北箭头）、w-resize（西箭头）、sw-resize（西南箭头）、s-resize（南箭头）、se-resize（东南箭头）和auto（自动）。</font>
		</p>
		<p>
				<font size="2">Filter：在样式中加上滤镜特效。由于此属性内容比较多，我们将到下一章单独对滤镜介绍。</font>
		</p>
		<p>
				<font size="2">二、 滤镜</font>
		</p>
		<p>
				<font size="2">CSS提供了一些内置的多媒体滤镜特效，使用这种技术可以把可视化的滤镜和转换效果添加到一个标准的HTML元素上，例如图片、文本容器、以及其他一些对象。Dreamweaver4提供了16种滤镜可供选择，如下图：</font>
		</p>
		<p>
				<font size="2">
				</font>
		</p>
		<p>
				<font size="2">下面，我们就来看看在Dreamweaver4里如何方便的使用这些CSS滤镜。</font>
		</p>
		<p>
				<font size="2">建立一个自定义样式“.filter”，在Filter下拉框里选Alpha滤镜，我们将“Alpha(Opacity=?, FinishOpacity=?, Style=?, StartX=?, StartY=?, FinishX=?, FinishY=?)”的Opacity参数设为50，后面的参数都删掉，如下图：</font>
		</p>
		<p>
				<font size="2">按OK后就建立了一个“.filter”的自定义样式，我们把这个样式应用到图片上，图片就是半透明的了。如果把这个样式应用到表格上，表格也变成了半透明状态了。注意所有滤镜效果都要在浏览器里才能看到。下面是原码：</font>
		</p>
		<p>
				<font size="2">&lt;style type="text/css"&gt;</font>
		</p>
		<p>
				<font size="2">&lt;!--</font>
		</p>
		<p>
				<font size="2">.filter { filter: Alpha(Opacity=50)}</font>
		</p>
		<p>
				<font size="2">--&gt;</font>
		</p>
		<p>
				<font size="2">&lt;/style&gt;</font>
		</p>
		<p>
				<font size="2">注意：这个例子我们没有用到后面的几项参数，只用到Opacity参数，所以将其他参数删掉。</font>
		</p>
		<p>
				<font size="2">下面我们来讲解每个滤镜的效果和参数：</font>
		</p>
		<p>
				<font size="2">1. Alpha：设置透明度</font>
		</p>
		<p>
				<font size="2">Alpha(Opacity=?, FinishOpacity=?, Style=?, StartX=?, StartY=?, FinishX=?, FinishY=?)</font>
		</p>
		<p>
				<font size="2">Opacity：透明度级别，范围是0-100，0代表完全透明，100代表完全不透明。</font>
		</p>
		<p>
				<font size="2">FinishOpacity：设置渐变的透明效果时，用来指定结束时的透明度，范围也是0 到 100。</font>
		</p>
		<p>
				<font size="2">Style：设置渐变透明的样式，值为0代表统一形状、1代表线形、2代表放射状、3代表长方形。</font>
		</p>
		<p>
				<font size="2">StartX和StartY：代表渐变透明效果的开始X和Y坐标。</font>
		</p>
		<p>
				<font size="2">FinishX和FinishY：代表渐变透明效果结束X和Y 的坐标。</font>
		</p>
		<p>
				<font size="2">2. BlendTrans：图像之间的淡入和淡出的效果</font>
		</p>
		<p>
				<font size="2">BlendTrans(Duration=?)</font>
		</p>
		<p>
				<font size="2">Duration：淡入或淡出的时间。</font>
		</p>
		<p>
				<font size="2">注意：这个滤镜必须配合JS建立图片序列，才能做出图片间效果。</font>
		</p>
		<p>
				<font size="2">3. Blru：建立模糊效果</font>
		</p>
		<p>
				<font size="2">Blur(Add=?, Direction=?, Strength=?)</font>
		</p>
		<p>
				<font size="2">Add：是否单方向模糊，此参数是一个布尔值，true（非0）或false（0）。</font>
		</p>
		<p>
				<font size="2">Direction：设置模糊的方向，其中0度代表垂直向上，然后每45度为一个单位。</font>
		</p>
		<p>
				<font size="2">Strength：代表模糊的象素值。</font>
		</p>
		<p>
				<font size="2">4. Chroma：把指定的颜色设置为透明</font>
		</p>
		<p>
				<font size="2">Chroma(Color=?)</font>
		</p>
		<p>
				<font size="2">Color：是指要设置为透明的颜色。</font>
		</p>
		<p>
				<font size="2">5. DropShadow：建立阴影效果</font>
		</p>
		<p>
				<font size="2">DropShadow(Color=?, OffX=?, OffY=?, Positive=?)</font>
		</p>
		<p>
				<font size="2">Color：指定阴影的颜色。</font>
		</p>
		<p>
				<font size="2">OffX：指定阴影相对于元素在水平方向偏移量，整数。</font>
		</p>
		<p>
				<font size="2">OffY：指定阴影相对于元素在垂直方向偏移量，整数。</font>
		</p>
		<p>
				<font size="2">Positive：是一个布尔值，值为true（非0）时，表示为建立外阴影；为false(0)，表示为建立内阴影。</font>
		</p>
		<p>
				<font size="2">6. FlipH：将元素水平反转</font>
		</p>
		<p>
				<font size="2">7. FlipV：将元素垂直反转</font>
		</p>
		<p>
				<font size="2">8. Glow：建立外发光效效果</font>
		</p>
		<p>
				<font size="2">Glow(Color=?, Strength=?)</font>
		</p>
		<p>
				<font size="2">Color：是指定发光的颜色。</font>
		</p>
		<p>
				<font size="2">Strength：光的强度，可以是1到255之间的任何整数，数字越大，发光的范围就越大。</font>
		</p>
		<p>
				<font size="2">9. Gray：去掉图像的色彩，显示为黑白图象</font>
		</p>
		<p>
				<font size="2">10. Invert：反转图象的颜色，产生类似底片的效果</font>
		</p>
		<p>
				<font size="2">11. Light：放置光源的效果，可以用来模拟光源在物体上的投影效果</font>
		</p>
		<p>
				<font size="2">注意：此效果需要用JS设置光的位置和强度。</font>
		</p>
		<p>
				<font size="2">12. Mask：建立透明遮罩</font>
		</p>
		<p>
				<font size="2">Mask(Color=?)</font>
		</p>
		<p>
				<font size="2">Color：设置底色，让对象遮住底色的部分透明。</font>
		</p>
		<p>
				<font size="2">13. RevealTrans：建立切换效果</font>
		</p>
		<p>
				<font size="2">RevealTrans(Duration=?, Transition=?)</font>
		</p>
		<p>
				<font size="2">Duration：是切换时间，以秒为单位。</font>
		</p>
		<p>
				<font size="2">Transtition：是切换方式，可设置为从0到23。</font>
		</p>
		<p>
				<font size="2">注意：如果做页面间的切换效果，可以在&lt;head&gt;区加上一行代码：&lt;Meta http-equiv=Page-enter content=revealTrans(Transition=?,Duration=?) &gt;。如果用在页面里的元素必须配合JS使用。</font>
		</p>
		<p>
				<font size="2">14. Shadow：建立另一种阴影效果</font>
		</p>
		<p>
				<font size="2">Shadow(Color=?, Direction=?)</font>
		</p>
		<p>
				<font size="2">Color：是指阴影的颜色。</font>
		</p>
		<p>
				<font size="2">Direction：是设置投影的方向，0度代表垂直向上，然后每45度为一个单位。</font>
		</p>
		<p>
				<font size="2">15. Wave：波纹效果</font>
		</p>
		<p>
				<font size="2">Wave(Add=?, Freq=?, LightStrength=?, Phase=?, Strength=?)</font>
		</p>
		<p>
				<font size="2">Add：表示是否显示原对象，0表示不显示，非0表示要显示原对象。</font>
		</p>
		<p>
				<font size="2">Freq：设置波动的个数。</font>
		</p>
		<p>
				<font size="2">LightStrength：设置波浪效果的光照强度，从0到100。0表示最弱，100表示最强。</font>
		</p>
		<p>
				<font size="2">Phase：波浪的起始相角。从0到100的百分数值。（例如：25相当于90度，而50相当于180度。）</font>
		</p>
		<p>
				<font size="2">Strength：设置波浪摇摆的幅度。</font>
		</p>
		<p>
				<font size="2">16. Xray：显现图片的轮廓，X光片效果</font>
		</p>
		<p>
				<font size="2">注意：在使用CSS滤镜时，必须使用在有区域的元素，比如表格，图片等。而文本，段落这样没有区域的元素不能使用CSS滤镜，对这样的元素我们可以设置元素的Height和Width样式或坐标来实现。</font>
		</p>
		<p>
				<font size="2">看下面这个例子，我们对一行文字做阴影效果（dropshadow），新建自定义样式.shadow，在filter下拉框里选择“DropShadow(Color=?, OffX=?, OffY=?, Positive=?)”，我们设置为“DropShadow(Color=999999, OffX=2, OffY=2, Positive=1)”。然后把定义好的样式应用在页面中，我们发现在表格里的文字有了阴影，而段落里的文字却没有阴影。点CSS Styles面板里的编辑样式表按钮，给样式加上Hight属性：</font>
		</p>
		<p>
				<font size="2">为了不影响原来对象的高度，我们设置的高度不能超过字体本身的高度。OK后，在浏览器中可以看到段落里的文字也有阴影了。</font>
		</p><img src ="http://www.cnblogs.com/format/aggbug/357186.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43791/" target="_blank">[新闻]雅虎新任CEO两大人选基本锁定</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>HTML解析器项目进展和新的构思</title><link>http://www.cnblogs.com/format/archive/2006/03/06/343854.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Mon, 06 Mar 2006 05:39:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2006/03/06/343854.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/343854.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2006/03/06/343854.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/343854.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/343854.html</trackback:ping><description><![CDATA[<DIV><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个解析器只是作为个人爱好去研究，陆陆续续的投入精力<WBR>，持续了很长时间，这期间发生了很多的事情。我在上海落脚很长时间<WBR>后才又继续开发，并把项目命名为Wittiness。</FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp;&nbsp;<STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 项目的目的：</STRONG>构建一个Web信息挖掘机，能够高效方便的从网页<WBR>中截取到需要的信息。</FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <STRONG>构建思路是</STRONG>：解析HTML标记&nbsp;&nbsp; --&gt;&nbsp; 构建层次对象 --&gt;&nbsp; 查询获取承载了需要信息的对象 --&gt;&nbsp; 按对象层次输出结果</FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;其中难度比较大的就是解析标记和查询获取对象。解析标记我用过了正<WBR>则表达式，字符串判断，SgmlReader，最好觉得SgmlR<WBR>eader用起来简单，效率也高。查询获取对象，目前实现的主要方<WBR>法是以表为单位，按索引数来获得，这一块花的时间也比较少。</FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <STRONG>&nbsp;新的想法：</STRONG>把HTML拆开读取为string[] 单位为一个HTML标记，用两个数组指针来确定要截取的部分，以个从头开始检索，一个从尾开始检索，这样能很好的解决标记配对的问题。在构造对象层次结构时候也只用数组指针，我想这样应该能提供效率和节约内存。再往后，可以把这个方法改进为流式处理，那么在读取大文件的时候效率就更高了。</FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果能有一个GUI的界面来让用户选择需要截取的内容，那么操作就更加方便了，不知道，象DreamWeaver这样的编辑器是怎么样开发的。</FONT></DIV><img src ="http://www.cnblogs.com/format/aggbug/343854.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43788/" 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>使用简单的Ajax Framework －MagicAjax.NET</title><link>http://www.cnblogs.com/format/archive/2005/12/06/291878.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 06 Dec 2005 09:07:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2005/12/06/291878.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/291878.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2005/12/06/291878.html#Feedback</comments><slash:comments>26</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/291878.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/291878.html</trackback:ping><description><![CDATA[<H1>MagicAjax.NET</H1>
<P>&nbsp;&nbsp;&nbsp;<FONT size=2>&nbsp; 这是一个全新的开放源代码Ajax框架，比我用过的Ajax.NET要方便很多很多，不但需要学习的东西少，而且加入ajax技术后，你的网站甚至可以不用编译，只需要修改ａｓｐｘ文件就可以。这一切让我惊喜不已，所有赶快拿出来和大家分享。MagicAjax.NET支持.NET1.1和2.0，但是目前我下载到的源代码是需要.NET 2.0。</FONT></P>
<P><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MagicAjax.NET方便之处在于：他提供一个AjaxPanel的容器控件，需要无刷新更新的部分（控件，HTML代码...）放到这个Panel里面就可以; MagicAjax.NET也不需要在程序后台代码中添加什么东西，而且web.config的配置也不复杂。<BR></FONT></P>
<P><FONT size=2><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我做了个简单的测试程序。用Google的广告来看是否整个页面刷新。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在页面上拖放一个AjaxPanel控件，然后把Botton和Label控件放到里面。如果把Botton放到Panel外面，那么会整页刷新。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG height=220 alt=design.JPG src="http://www.cnblogs.com/images/cnblogs_com/format/design.JPG" width=466 border=1><BR>Botton控件的事件代码是：<BR></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"><SPAN style="COLOR: #008080">1</SPAN><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;btnTime_Click(</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">&nbsp;sender,&nbsp;System.EventArgs&nbsp;e)<BR></SPAN><SPAN style="COLOR: #008080">2</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_64_114_Open_Image onclick="this.style.display='none'; Codehighlighter1_64_114_Open_Text.style.display='none'; Codehighlighter1_64_114_Closed_Image.style.display='inline'; Codehighlighter1_64_114_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_64_114_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_64_114_Closed_Text.style.display='none'; Codehighlighter1_64_114_Open_Image.style.display='inline'; Codehighlighter1_64_114_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_64_114_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_64_114_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">3</SPAN><SPAN style="COLOR: #000000"><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">this</SPAN><SPAN style="COLOR: #000000">.lblTime.Text</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">DateTime.Now.ToString();<BR></SPAN><SPAN style="COLOR: #008080">4</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN></DIV>
<P>最后的效果：<BR><IMG height=216 alt=after.JPG src="http://www.cnblogs.com/images/cnblogs_com/format/after.JPG" width=279 border=1><BR><BR>效果非常好!使用很方便。<BR><BR>后面给大家一个最基本的web.config配置文件。如果在.NET 1.1下，那么必须要有这个，然而程序无法找到嵌入其中的js资源。</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"><SPAN style="COLOR: #008080">&nbsp;1</SPAN><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">configuration</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;2</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">configSections</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;3</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">section&nbsp;</SPAN><SPAN style="COLOR: #ff0000">name</SPAN><SPAN style="COLOR: #0000ff">="magicAjax"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;4</SPAN><SPAN style="COLOR: #ff0000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type</SPAN><SPAN style="COLOR: #0000ff">="MagicAjax.Configuration.MagicAjaxSectionHandler,&nbsp;MagicAjax"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;5</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">configSections</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;6</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;7</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">magicAjax<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;8</SPAN><SPAN style="COLOR: #800000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #ff0000">outputCompareMode</SPAN><SPAN style="COLOR: #0000ff">="HashCode"</SPAN><SPAN style="COLOR: #ff0000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;9</SPAN><SPAN style="COLOR: #ff0000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tracing</SPAN><SPAN style="COLOR: #0000ff">="false"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">10</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">pageStore<BR></SPAN><SPAN style="COLOR: #008080">11</SPAN><SPAN style="COLOR: #800000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #ff0000">mode</SPAN><SPAN style="COLOR: #0000ff">="NoStore"</SPAN><SPAN style="COLOR: #ff0000"><BR></SPAN><SPAN style="COLOR: #008080">12</SPAN><SPAN style="COLOR: #ff0000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unloadStoredPage</SPAN><SPAN style="COLOR: #0000ff">="false"</SPAN><SPAN style="COLOR: #ff0000"><BR></SPAN><SPAN style="COLOR: #008080">13</SPAN><SPAN style="COLOR: #ff0000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cacheTimeout</SPAN><SPAN style="COLOR: #0000ff">="5"</SPAN><SPAN style="COLOR: #ff0000"><BR></SPAN><SPAN style="COLOR: #008080">14</SPAN><SPAN style="COLOR: #ff0000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxConcurrentPages</SPAN><SPAN style="COLOR: #0000ff">="5"</SPAN><SPAN style="COLOR: #ff0000"><BR></SPAN><SPAN style="COLOR: #008080">15</SPAN><SPAN style="COLOR: #ff0000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxPagesLimitAlert</SPAN><SPAN style="COLOR: #0000ff">="false"</SPAN><SPAN style="COLOR: #ff0000"><BR></SPAN><SPAN style="COLOR: #008080">16</SPAN><SPAN style="COLOR: #ff0000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">17</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">magicAjax</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">18</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">system</SPAN><SPAN style="COLOR: #ff0000">.web</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">19</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">httpModules</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">20</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">add&nbsp;</SPAN><SPAN style="COLOR: #ff0000">name</SPAN><SPAN style="COLOR: #0000ff">="MagicAjax"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;type</SPAN><SPAN style="COLOR: #0000ff">="MagicAjax.MagicAjaxModule,&nbsp;MagicAjax"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000">&nbsp;<BR></SPAN><SPAN style="COLOR: #008080">21</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">httpModules</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">22</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">23</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">system.web</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">24</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">25</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">configuration</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></DIV>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大家赶快去他们网站下载。</FONT><A href="http://www.magicajax.net/"><FONT size=2>http://www.magicajax.net/</FONT></A></P><img src ="http://www.cnblogs.com/format/aggbug/291878.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43787/" target="_blank">[新闻]微软高管解密Windows7内幕：大量功能中国造</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/format/archive/2005/09/22/242148.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Thu, 22 Sep 2005 09:43:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2005/09/22/242148.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/242148.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2005/09/22/242148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/242148.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/242148.html</trackback:ping><description><![CDATA[<P><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现在很多技术闹的我们是春意红杏的，一个项目中我们总希望加入新的技术,这就需要时间，而且才接触经验不多,最后项目不但延期而且写出的东西不稳定，进入了一个恶性循环。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从我参与的几个项目来看都存在以上这些问题,而且在需求阶段做的不好，后面又没有严格的文档和管理，在编码阶段搞的是一团乱，软件范围不断扩大偏离核心，等缓过神来感觉是四面楚歌。<BR>&nbsp;我认为项目在需求完成之后就要确定一个主线，后面的工作都必须和主线有关并且不冲突再配合上强有力的行政手段保证实施到位。同时设定里程碑也是相当重要，如果一个项目规模大，没有历程碑，那会使每一个人都感觉到疲惫，合理的设置里程碑可以团队随时都充满活力。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;比如说一个网站项目，如果我们在需求和重点都没有理出来的时候就开始讨论网站的栏目、布局、色彩，这肯定是在浪费时间，如果继续下去项目多半要失败或者偏离初衷。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果是一个软件项目，需求的不断变化，软件左改右改，最后偏离核心需求，软件的进度非常慢，而且赶时间修补出来的代码都是废的。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不论是网站或者软件，我们都要抓住主线，确定范围，不符合主线的想法首先就可以抛弃然，不用去想半天浪费时间。想法成熟确定后，就是什么RUP，XP过程了。</FONT></P>
<P><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;很久都没有Blog了，这是我到上海后的第一篇正式Blog，这就算我发点牢骚，过过口瘾，感慨下大上海这个林子里瞎搞混日子的傻鸟们。</FONT></P><img src ="http://www.cnblogs.com/format/aggbug/242148.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43786/" target="_blank">[新闻]Vista SP2 beta 具体更新的清单</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>介绍一个完全托管代码的对象数据库DB4O </title><link>http://www.cnblogs.com/format/archive/2005/04/01/129826.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Fri, 01 Apr 2005 00:37:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2005/04/01/129826.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/129826.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2005/04/01/129826.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/129826.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/129826.html</trackback:ping><description><![CDATA[<font size="3"><span lang="EN-US"><font face="Times New Roman">&#160;&#160;&#160;&#160;&#160;&#160;&#160; DB4O</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">有</span><span lang="EN-US"><font face="Times New Roman">.NET</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">、</span><span lang="EN-US"><font face="Times New Roman">MONO</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">和</span><span lang="EN-US"><font face="Times New Roman">Jave</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">版<img height="41" src="http://www.cnblogs.com/images/cnblogs_com/format/h_logo1.gif" width="191" align="right" border="0" />本，全部用托管代码写成并且开放源代码。如果关注</span><span lang="EN-US"><font face="Times New Roman">Mono</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">的朋友应该注意到</span><span lang="EN-US"><font face="Times New Roman">Mono</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">中已经有个可选安装组件</span><span lang="EN-US"><font face="Times New Roman">DB4O</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">。可以从他们的网站</span><span lang="EN-US"><a href="http://www.db4o.com/"><font face="Times New Roman" color="#800080">http://www.db4o.com/</font></a></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-hansi-font-family: &#39;Times New Roman&#39;">下载源代码。
<br/></span></font>
<br/><a title="介绍一个完全托管代码的对象数据库DB4O " href="/format/articles/129573.html">点击阅读全部内容&#160;</a><img src ="http://www.cnblogs.com/format/aggbug/129826.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43785/" target="_blank">[新闻]纽约时报：Twitter为何拒绝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>HTML解析器 2004年12月7日 星期二</title><link>http://www.cnblogs.com/format/archive/2004/12/07/74032.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 07 Dec 2004 10:53:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2004/12/07/74032.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/74032.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2004/12/07/74032.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/74032.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/74032.html</trackback:ping><description><![CDATA[<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 今天已经是有做HTML解析器的想法好几天了，一开始是一个朋友要我帮忙处理下从网页上的表格中获取信息，然后分项保存到数据库中，实现数据本地化。一开始就打算好好做一个，以后也可以通用，经过一个多星期的资料收集和试验，现在分析器的雏形已经出来了。
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 在一开始的时候打算直接用.NET中字符处理的方法来做，但过于复杂和麻烦，而且效率不高；然后有想到把HTML当做XML用XML相关的类来解析，但HTML的语法比较松散；还试过SgmlReader，这个东西的解析也不够满意。最后觉得用正则表达式来做（我学习了5天，已经深入到自动机的理论），选用的原因：
<br/><span style="FONT-SIZE: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="FONT-SIZE: 8pt">一、&#160;效率高；
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 二、&#160;容错性好。应为HTML没有XML那样严格的语法规范，HTML要松散些。
<br/></span></span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 但正则表达式有个缺点，如果要匹配最近的&lt;td&gt;&lt;/td&gt;正则表达式要相当复杂，而且我也没有研究出来。我的解决办法是象Table用Match匹配出文字，然后用Match的index获得匹配的位置，再用SubString方法取得值字符串。效果还不错哦。
</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 现在遇到的问题：如果Table中包含Table那么对TR的分解将出来错误。
<br/>
</p><img src ="http://www.cnblogs.com/format/aggbug/74032.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43784/" 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>试用Wallop</title><link>http://www.cnblogs.com/format/archive/2004/11/30/70794.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Tue, 30 Nov 2004 01:10:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2004/11/30/70794.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/70794.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2004/11/30/70794.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/70794.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/70794.html</trackback:ping><description><![CDATA[很高兴收到邀请进入了Wallop世界。Wallop的界面确实让人感觉到很爽，而且他提供的网络交友和联系也是相当新颖。目前其他功能还在试用中。<br/><IMG height="293" src="http://www.cnblogs.com/images/cnblogs_com/format/Wallop.jpg" width="500" border="1" /><img src ="http://www.cnblogs.com/format/aggbug/70794.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43783/" 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/format/archive/2004/11/22/66925.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Mon, 22 Nov 2004 04:37:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2004/11/22/66925.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/66925.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2004/11/22/66925.html#Feedback</comments><slash:comments>24</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/66925.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/66925.html</trackback:ping><description><![CDATA[这是突发奇想的（如有雷同，纯属巧合）<br/><br/>1.赚很多很多的钱<br/>2.找到意中人<br/>3.意中人找到我<br/>4.好多好多的意中人找到我<img src ="http://www.cnblogs.com/format/aggbug/66925.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43782/" 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>Rainbow中的不过期分页的文章Module</title><link>http://www.cnblogs.com/format/archive/2004/10/29/58196.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Fri, 29 Oct 2004 09:25:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2004/10/29/58196.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/58196.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2004/10/29/58196.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/58196.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/58196.html</trackback:ping><description><![CDATA[<FONT size=2>　　这个Module是根据Article Module修改过来的，现在这个版本把大部分代码都重新写过。目前我是在Rainbow Rc4版里面进行<IMG style="WIDTH: 200px; HEIGHT: 93px" height=93 alt="" hspace=0 src="http://www.cnblogs.com/images/cnblogs_com/format/rainbow.gif" width=200 align=right border=0>开发的，在以前的Rainbow版本我没有做过测试。在编辑页面部分的修改是最少的，等待下一步进行改进。<BR><BR>&nbsp;&nbsp;&nbsp;<STRONG>目前特性：<BR></STRONG>　　这个FormatArticle Module目前支持在页面添加后显示的部分只显示最新的１０条记录，带有&#8220;更多&#8221;连接，在更多页面中用DataGrid进行分页。这比较服务中国网站的习惯和要求，不会再存在过期。对Protal搜索功能支持的实现。<BR><BR>&nbsp;<STRONG>&nbsp;&nbsp;Rainbow&nbsp;Module的安装方法</STRONG>（一下过程是在Rianbow RC4版中）：<BR>&nbsp;&nbsp;&nbsp;&nbsp;1.把文件解压后放到DesktopModule的FormatArticle下，打开VS.NET，在项目中包含此文件夹，在VS.NET下重新编译（之后我会抽时间放一个单独编译的版本，这样就不用再去VS中编译了）；<BR>&nbsp;&nbsp;&nbsp;&nbsp;2.以管理员身份登陆，转到Adminitration Tab选Install，然后点击<FONT color=#000080>Install Modules</FONT></FONT><FONT color=#000000 size=2>的添加按钮；<BR>&nbsp;&nbsp;&nbsp;&nbsp;3.在安装路径输入&#8220;DesktopModules/FormatArticles/install.xml&#8221;,然后选择Update就ok了<BR><BR><STRONG>下一步特性：<BR></STRONG>1.文章显示条数和分页大小可以自定义<BR>2.为这个Module添加全文检索Module<BR><BR><A href="http://www.cnblogs.com/Files/format/FormatArticles.rar">下载FormatArticle<BR></A><BR>另外附上我目前完成的中文语言包，这个包应该算是目前汉化的比较全的，我还在进一步完成。语言包的这个资源文件copy到Resources文件夹下覆盖原来的文件，然后重新编译就可以了。<BR><A href="http://www.cnblogs.com/Files/format/Rainbow.zh-CN.rar">下载中文语言包</A></FONT><img src ="http://www.cnblogs.com/format/aggbug/58196.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43781/" 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>我用Rainbow做网站</title><link>http://www.cnblogs.com/format/archive/2004/10/25/56572.html</link><dc:creator>format</dc:creator><author>format</author><pubDate>Mon, 25 Oct 2004 09:37:00 GMT</pubDate><guid>http://www.cnblogs.com/format/archive/2004/10/25/56572.html</guid><wfw:comment>http://www.cnblogs.com/format/comments/56572.html</wfw:comment><comments>http://www.cnblogs.com/format/archive/2004/10/25/56572.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnblogs.com/format/comments/commentRss/56572.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/format/services/trackbacks/56572.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><FONT size=2><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最近在用</SPAN><SPAN lang=EN-US><A href="http://www.rainbowprotal.net">Rainbow</A></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做一个网址，我用的是最新的</SPAN><SPAN lang=EN-US>RC4</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版，发现</SPAN><SPAN lang=EN-US>Rainbo<IMG style="WIDTH: 200px; HEIGHT: 93px" height=93 alt="" hspace=0 src="ht