<?xml version="1.0" encoding="UTF-8" standalone="yes"?><rss version="2.0"><channel><title><![CDATA[开博 KaiBo.org]]></title><link>http://www.kaibo.org</link><description>在开发ASP.NET博客的实践中成长…</description><language>zh-CN</language><copyright>http://www.kaibo.org</copyright><generator>v1.0.0</generator><item><link>http://www.kaibo.org/ArticleView/Caid-8-199.aspx</link><title>C#的时间格式化(续)</title><author>欧阳振华</author><category>asp.net+c#</category><pubDate>Mon, 29 Sep 2008 18:27:26 GMT</pubDate><comments>http://www.kaibo.org/ArticleView/Caid-8-199.aspx#comment</comments><guid>199</guid><description><![CDATA[<p>DateTime dt = DateTime.Now;<br />
Label1.Text = dt.ToString();//2005-11-5 13:21:25<br />
Label2.Text = dt.ToFileTime().ToString();//127756416859912816<br />
Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816<br />
Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25<br />
Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日<br />
Label6.Text = dt.ToLongTimeString().ToString();//13:21:25<br />
Label7.Text = dt.ToOADate().ToString();//38661.5565508218<br />
Label8.Text = dt.ToShortDateString().ToString();//2005-11-5<br />
Label9.Text = dt.ToShortTimeString().ToString();//13:21<br />
Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25<br />
Label1.Text = dt.Year.ToString();//2005<br />
Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00<br />
Label3.Text = dt.DayOfWeek.ToString();//Saturday<br />
Label4.Text = dt.DayOfYear.ToString();//309<br />
Label5.Text = dt.Hour.ToString();//13<br />
Label6.Text = dt.Millisecond.ToString();//441<br />
Label7.Text = dt.Minute.ToString();//30<br />
Label8.Text = dt.Month.ToString();//11<br />
Label9.Text = dt.Second.ToString();//28<br />
Label10.Text = dt.Ticks.ToString();//632667942284412864<br />
Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864<br />
Label1.Text = dt.ToString();//2005-11-5 13:47:04<br />
Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04<br />
Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04<br />
Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04<br />
Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04<br />
Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04<br />
Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05<br />
Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10<br />
Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04<br />
Label10.Text = dt.CompareTo(dt).ToString();//0<br />
Label11.Text = dt.Add(?).ToString();//问号为一个时间段<br />
Label1.Text = dt.Equals(&quot;2005-11-6 16:11:04&quot;).ToString();//False<br />
Label2.Text = dt.Equals(dt).ToString();//True<br />
Label3.Text = dt.GetHashCode().ToString();//1474088234<br />
Label4.Text = dt.GetType().ToString();//System.DateTime<br />
Label5.Text = dt.GetTypeCode().ToString();//DateTime</p>
<p>Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25<br />
Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//14:06<br />
Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年11月<br />
Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日<br />
Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05<br />
Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05<br />
Label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日<br />
Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日<br />
Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06<br />
Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06<br />
Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT</p>
<p>Label1.Text = string.Format(&quot;{0:d}&quot;,dt);//2005-11-5<br />
Label2.Text = string.Format(&quot;{0:D}&quot;,dt);//2005年11月5日<br />
Label3.Text = string.Format(&quot;{0:f}&quot;,dt);//2005年11月5日 14:23<br />
Label4.Text = string.Format(&quot;{0:F}&quot;,dt);//2005年11月5日 14:23:23<br />
Label5.Text = string.Format(&quot;{0:g}&quot;,dt);//2005-11-5 14:23<br />
Label6.Text = string.Format(&quot;{0:G}&quot;,dt);//2005-11-5 14:23:23<br />
Label7.Text = string.Format(&quot;{0:M}&quot;,dt);//11月5日<br />
Label8.Text = string.Format(&quot;{0:R}&quot;,dt);//Sat, 05 Nov 2005 14:23:23 GMT<br />
Label9.Text = string.Format(&quot;{0:s}&quot;,dt);//2005-11-05T14:23:23<br />
Label10.Text = string.Format(&quot;{0:t}&quot;,dt);//14:23<br />
Label11.Text = string.Format(&quot;{0:T}&quot;,dt);//14:23:23<br />
Label12.Text = string.Format(&quot;{0:u}&quot;,dt);//2005-11-05 14:23:23Z<br />
Label13.Text = string.Format(&quot;{0:U}&quot;,dt);//2005年11月5日 6:23:23<br />
Label14.Text = string.Format(&quot;{0:Y}&quot;,dt);//2005年11月<br />
Label15.Text = string.Format(&quot;{0}&quot;,dt);//2005-11-5 14:23:23?<br />
Label16.Text = string.Format(&quot;{0:yyyyMMddHHmmssffff}&quot;,dt);&nbsp;&nbsp;&nbsp; //yyyymm等可以设置,比如Label16.Text = string.Format(&quot;{0:yyyyMMdd}&quot;,dt);</p>]]></description></item><item><link>http://www.kaibo.org/ArticleView/Caid-8-191.aspx</link><title>asp.net前台时间格式</title><author>欧阳振华</author><category>asp.net+c#</category><pubDate>Tue, 02 Sep 2008 12:30:21 GMT</pubDate><comments>http://www.kaibo.org/ArticleView/Caid-8-191.aspx#comment</comments><guid>191</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 在优化代码的时候修改了一些时间和格式,现把前台显示时间的几种方法帖出来:</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;%#&nbsp;DataBinder.Eval(Container.DataItem,</span><span class="string">&quot;date&quot;</span><span>,</span><span class="string">&quot;{0:D}&quot;</span><span>)&nbsp;%&gt;&nbsp;</span></span></li></ol></pre>
<p>&nbsp;出来的时间格式是： 2007年10月25日</p>
<p>其中的格式字符 关联属性/说明 <br />
&nbsp;&nbsp;　d ShortDatePattern <br />
&nbsp;&nbsp;　D LongDatePattern <br />
&nbsp;&nbsp;　f 完整日期和时间（长日期和短时间） <br />
&nbsp;&nbsp;　F FullDateTimePattern（长日期和长时间） <br />
&nbsp;&nbsp;　g 常规（短日期和短时间） <br />
&nbsp;&nbsp;　G 常规（短日期和长时间） <br />
&nbsp;&nbsp;　m、M MonthDayPattern <br />
&nbsp;&nbsp;　r、R RFC1123Pattern <br />
&nbsp;&nbsp;　s 使用当地时间的 SortableDateTimePattern（基于 ISO 8601） <br />
&nbsp;&nbsp;　t ShortTimePattern <br />
&nbsp;&nbsp;　T LongTimePattern <br />
&nbsp;&nbsp;　u UniversalSortableDateTimePattern 用于显示通用时间的格式 <br />
&nbsp;&nbsp;　U 使用通用时间的完整日期和时间（长日期和长时间） <br />
&nbsp;&nbsp;　y、Y YearMonthPattern <br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;%#&nbsp;DataBinder.Eval(Container.DataItem,</span><span class="string">&quot;join_date&quot;</span><span>,</span><span class="string">&quot;{0:yyyy-MM-dd}&quot;</span><span>)&nbsp;%&gt;&nbsp;</span></span></li></ol></pre>
<p>出来的时间格式是： 2007-10-25</p>]]></description></item><item><link>http://www.kaibo.org/ArticleView/Caid-8-177.aspx</link><title>代码书写不规范引发的问题</title><author>欧阳振华</author><category>asp.net+c#</category><pubDate>Mon, 21 Jul 2008 18:13:26 GMT</pubDate><comments>http://www.kaibo.org/ArticleView/Caid-8-177.aspx#comment</comments><guid>177</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 今天在规范博客代码的时候，出现了一些问题。</p>
<p>&nbsp;&nbsp;&nbsp; 在BLL层里我写了一个Article.cs文件，里面是一些与文章相关的方法。如得到热点文章的方法：</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">public</span><span>&nbsp;&nbsp;IList&lt;ArticleInfo&gt;&nbsp;GetHotArticle() &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;dal.GetHotArticle(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li></ol></pre>
<p>&nbsp;&nbsp;&nbsp; 在前台，我一般是这样来调用:</p>
<pre><ol class="dp-c"><li class="alt"><span><span>DataList1.DataSource&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Article().GetHotArticle(); &nbsp;</span></span></li><li><span>&nbsp;DataList1.DataBind();&nbsp;</span></li></ol></pre>
<div class="style19">以前没有出现过什么问题，但是今天我在前台添加了一个后台代码独立的Article.aspx后，就出现严重的问题了&mdash;&mdash;所有调用BLL层里Article.cs文件里的方法的页面都无法访问。比如调用Article().GetHotArticle()的时候，会提示找不到GetHotArticle()方法。刚开始的时候有一点莫名其妙，但是仔细一想就发现是由于两个原因造成了这个错误。</div>]]></description></item><item><link>http://www.kaibo.org/ArticleView/Caid-8-149.aspx</link><title>用cookie记住访客信息的实现</title><author>欧阳振华</author><category>asp.net+c#</category><pubDate>Tue, 13 May 2008 16:00:46 GMT</pubDate><comments>http://www.kaibo.org/ArticleView/Caid-8-149.aspx#comment</comments><guid>149</guid><description><![CDATA[<p>昨日<a target="_blank" href="http://liupeng.us/">liupeng</a> 留言建议我设置一个cookie记住留言者的信息,便于留言者再次留言.此建议很有实用性,所以我就决定实现这个功能.今天中午没事,就写了个方法把它实现了.现将实现此功能的思路和C#方法挂出来.</p>
<p>第一步,当留言者提交留言或是评论的时候,把他的姓名和网址用cookie记下来,方法如下:</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;SetCookie(</span><span class="keyword">string</span><span>&nbsp;name,&nbsp;</span><span class="keyword">string</span><span>&nbsp;website) &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpCookie&nbsp;cookie&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;HttpCookie(</span><span class="string">&quot;postmessage&quot;</span><span>); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookie.Expires&nbsp;=&nbsp;DateTime.Now.AddMonths(24); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookie.Values.Add(</span><span class="string">&quot;name&quot;</span><span>,&nbsp;Server.UrlEncode(name)); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookie.Values.Add(</span><span class="string">&quot;url&quot;</span><span>,&nbsp;website); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Cookies.Add(cookie); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li></ol></pre>]]></description></item><item><link>http://www.kaibo.org/ArticleView/Caid-8-143.aspx</link><title>博客中tags功能的实现</title><author>欧阳振华</author><category>asp.net+c#</category><pubDate>Fri, 09 May 2008 14:37:58 GMT</pubDate><comments>http://www.kaibo.org/ArticleView/Caid-8-143.aspx#comment</comments><guid>143</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;在开始设计这个博客的时候,我并没有打算做Tags,不过通过这几天学习怎么优化网页,我觉得个人博客做个Tags的功能还是很有必要的,不说利于搜索引擎的抓取收录,至少是方便读者或是自己在阅读的时候找到与关键词相关的一些内容.Tags应该是一种比起网站里的搜索引擎更加人性化的一个设计.基于以上原因,今天抽出一点时间写了个实现Tags功能的方法,在控制台应用程序里测试得到了我想要的结果.</p>
<p>方法如下:</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>static&nbsp;void&nbsp;Main(string[]&nbsp;args) &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;</span><span class="attribute">str</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">&quot;欧阳,振华,同学,编程,快乐&quot;</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string[]&nbsp;</span><span class="attribute">tags</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">str</span><span>.Split(','); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(string&nbsp;tag&nbsp;in&nbsp;tags) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(string.Format(&quot;</span><span class="tag"><</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=\&quot;{0}\&quot;&nbsp;</span><span class="tag">></span><span>{0}</span><span class="tag"></</span><span class="tag-name">a</span><span class="tag">></span><span>&quot;,&nbsp; &nbsp;</span></li><li><span>tag.Trim().ToLowerInvariant()));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;</span></li></ol></pre>
<p>得到的结果如图所示:</p>
<p><img height="126" alt="" width="212" src="/images/upload/image/200859143238328344.jpg" /></p>
<p>得到的结果说明上面的方法可行.如果把存在数存库里的Tags字段查找出来再运用此方法,那么就可以实现博客中常见的Tags功能了.</p>]]></description></item><item><link>http://www.kaibo.org/ArticleView/Caid-8-117.aspx</link><title>利用ASP.NET 2.0创建自定义Web控件</title><author>欧阳振华</author><category>asp.net+c#</category><pubDate>Thu, 06 Mar 2008 18:01:30 GMT</pubDate><comments>http://www.kaibo.org/ArticleView/Caid-8-117.aspx#comment</comments><guid>117</guid><description><![CDATA[<p><strong>简介</strong> <br />
　　从使用基本的文本编辑器到创作标记页面，Web 开发已经经历了一个漫长的过程。目前，集成开发环境 (IDE) 为开发过程中的几乎每个方面都提供了图形化表示形式。此外，还实现各种说明性编程技术以提高效率并降低出现错误的几率。Visual Studio 2005 和 ASP.NET 2.0 中的控件体系结构遵循了这些编程趋势，并且提供了可靠的、可扩展的环境，该环境设计为使开发人员可以创建能够以说明方式配置的控件。 <br />
　　此外，ASP.NET 中新的自适应呈现模型减少了编写可专门识别其目标浏览器的控件的需要。换句话说，控件开发人员可以专注于设计控件，而让 ASP.NET 框架负责转换控件并针对不同类型的浏览器和设备呈现它。 <br />
&nbsp;</p>]]></description></item><item><link>http://www.kaibo.org/ArticleView/Caid-8-72.aspx</link><title>asp.net截取字符串并输出</title><author>欧阳振华</author><category>asp.net+c#</category><pubDate>Fri, 10 Aug 2007 20:35:28 GMT</pubDate><comments>http://www.kaibo.org/ArticleView/Caid-8-72.aspx#comment</comments><guid>72</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 开始学ASP.NET的时候，为了在博客首页显示一篇文章的一小部分内容就想到截取字符串的办法，可那时由于刚开始接触.NET所以一直没有实现。最后用了一个笨办法：在写日记插入记录的时候截一部分内容存入到某个字段，显示的时候就查询存有小部分内容的字段。这个办法虽然实现了我要的效果，但总觉得少了点什么味道。</p>]]></description></item></channel></rss>