asp.net-mvc – ASP.net MVC CheckBoxFor转换错误
|
我有一个EF实体绑定到一个包含一个名为“活动”的位字段的SQL表。我从T4模板生成编辑代码,页面继承自EF实体。在页面的底部,它生成了一个CheckBoxFor,如下所示: <%= Html.CheckBoxFor(model => model.Active) %> 我在model.Active上获得了美妙的红色波浪,而且错误信息表示我不能隐式转换类型bool?要bool所以,我尝试了以下: <%= Html.CheckBoxFor(model => (bool)model.Active) %> 它当然不是这样的,给我这个错误:
我可能会错过一些简单的东西。 解决方法尝试model.Active.Value如果此字段不可为空,则应将数据库端的数据类型更改为不为空。 编辑 为什么会发生这种情况? 您的数据库字段定义为FIELDNAME BIT NULL。这意味着它可以包含三个值:NULL,true和false。由于它可以包含三个值,它映射到bool?键入实体框架。布尔?是Nullable< bool>的另一个名称,它是围绕bool的包装,允许它具有第三个值:NULL。由于CheckBoxFor期望两个值中的一个值为true或false,因此它不能包含Nullable< bool>。每个Nullable都具有称为值的属性,返回包装类型。但是您应该知道,当数据库字段将包含null Nullable< bool> .Value将抛出错误。如果您确定此字段不应包含NULL值,则应将其数据类型更改为FIELDNAME BIT NOT NULL并再次从数据库生成模型。这将从bool更改数据类型?要bool并且不需要调用Value属性。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 动画gif不动画提交
- asp.net – System.Json.DLL在哪里?
- asp.net – 什么时候调用Application_End,我该如何手动导致
- asp.net – 我们应该为每个开发人员单独的数据库实例吗?
- asp.net-mvc – HandleError属性没有任何效果
- asp.net-mvc – 将JSON格式的DateTime传递给ASP.NET MVC
- 如何使用ASP.NET更改HTML页面元素的CSS类?
- asp.net – 将特定文件夹映射到web.config中的HttpHandler
- asp.net-web-api – 如何在Web Api调用期间获取用户上下文?
- asp.net – 您是否将助手类存储在单独的程序集中?
