ASP.NET Community Starter Kit的一个bug

在ASP.NET Starter Kit里,如果我们添加事件--Event模板,系统会提示时间索引错误。
这段代码位于,
 Engine/Modules/Events/Controls目录的DataPicker.cs文件里
 找到Render()代码,下面给出了修改后的代码,供大家参考。

 

protected override void Render(HtmlTextWriter tw)
        {
            // Get Date Parts
            string[] dateParts;
            try
            {
                DateTimeFormatInfo objDateInfo = DateTimeFormatInfo.CurrentInfo;
                dateParts = objDateInfo.ShortDatePattern.Split('/');

 

         if (objDateInfo.ShortDatePattern.IndexOf("/")>0)

          dateParts = objDateInfo.ShortDatePattern.Split('/');

          else

        dateParts = objDateInfo.ShortDatePattern.Split('-');


            }
            catch
            {
                dateParts = new string[]{"m","d","y"};
            }
           
            tw.RenderBeginTag(HtmlTextWriterTag.Table);
            tw.RenderBeginTag(HtmlTextWriterTag.Tr);
              tw.RenderBeginTag(HtmlTextWriterTag.Td);
              RenderDatePart(dateParts[0],tw);
              tw.RenderEndTag();

              tw.RenderBeginTag(HtmlTextWriterTag.Td);
              RenderDatePart(dateParts[1],tw);
              tw.RenderEndTag();

              tw.RenderBeginTag(HtmlTextWriterTag.Td);
              RenderDatePart(dateParts[2],tw);
              tw.RenderEndTag();

            tw.RenderEndTag(); // close row
            tw.RenderEndTag(); // close table
 
       
        }


      之所以有这段错误,在于时间表示上。对于一个日前,SQL Server数据库能够自动识别下面2种格式: 2005-8-1和2005/8/1
     而在实际页面里使用的是-符号表示,但是判断时,使用/进行判断,所有发生了错误

posted @ 2005-08-03 14:28  启明星工作室  阅读(558)  评论(0编辑  收藏  举报