FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3786|回复: 0
打印 上一主题 下一主题

当在表格中绑定类型为date,且date值为null时引发异常

[复制链接]
跳转到指定楼层
楼主
发表于 2014-5-28 19:36:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
反馈BUG
程序版本: FineUI v4.0.6
浏览器: Chrome Firefox IE10 IE9 IE8 其它(请在帖子中注明浏览器及版本) 
BUG截图:
BUG地址: -
FineUI\WebControls\PanelBase.Grid\GridColumn\RenderField\RenderFields.cs

代码:258行

               else if (FieldType == FieldType.Date)
                    {
                        // http://www.dotnetperls.com/datetime-format
                        DateTime date = DateTime.Now;
                        if (value.GetType() == typeof(DateTime))
                        {
                            date = (DateTime)value;
                        }
                        else
                        {
                            //by gw at 2014-5-28
                            //因为数据库字段内容为空时,在字段编辑时会引发异常,目前解决方案为: 注释此行,直接  return "";
                            258行: date = DateTime.Parse(value.ToString());                        
                        }


引发条件:

界面绑定
   <f:RenderField ColumnID="f7_PreXiaShu" DataField="f7_PreXiaShu" RendererArgument="yyyy-MM-dd"
                                                                Renderer="Date" HeaderText="预估完成" FieldType="Auto" Width="100">
                                                                <Editor>
                                                                    <fatePicker ID="f7_PreDate" Required="true" runat="server">
                                                                    </fatePicker>
                                                                </Editor>
                                                            </f:RenderField>


当在grid绑定字段类型为date,并允许在表格中编辑时,但因为数据库中的数据对于日期型,一般允许为空,那读出后的列类型,一般为 nullable<datetime>,就是允许为空的日期类型,到258行处,会执行:date = DateTime.Parse(value.ToString());因此时value为空,产生异常,目前我自己解决方法是在此处直接 return "";

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-24 18:38 , Processed in 0.047704 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表