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 @   启明星工作室  阅读(566)  评论(0)    收藏  举报
编辑推荐:
· C# 模式匹配全解:原理、用法与易错点
· 记一次SSD性能瓶颈排查之路——寿命与性能之间的取舍
· 理解 .NET 结构体字段的内存布局
· .NET 9中的异常处理性能提升分析:为什么过去慢,未来快
· 字符集、编码的前世今生
阅读排行:
· 记一次SSD性能瓶颈排查之路——寿命与性能之间的取舍
· 2025 年实用、全面的 VS Code 插件推荐!
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派
· dify打造数据可视化图表
· Token:大语言模型的“语言乐高”,一切智能的基石
点击右上角即可分享
微信分享提示