可以为空的对象必须具有值。 C#MVC CheckBoxFor

时间:2018-01-08 22:35:29

标签: c# asp.net-mvc

我遇到了这个问题而不确定如何解决它。

模型

public bool? Rem1SendToEmail1 { get; set; }

查看

@Html.CheckBoxFor(m => m.Rem1SendToEmail1.Value)

控制器

smsAccount.Rem1SendToEmail1 = ClientSMSAccountModal.Rem1SendToEmail1.Value;

错误

  

Nullable对象必须具有值。   描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

Exception Details: System.InvalidOperationException: Nullable object must have a value.

当我尝试将视图更改为

@Html.CheckBoxFor(m => m.Rem1SendToEmail1)

我收到以下错误:

  

编译错误   描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。

     

编译器错误消息:CS0266:无法隐式转换类型'bool?' 'bool'。存在显式转换(您是否错过了演员?)

1 个答案:

答案 0 :(得分:0)

使用评论中提供的帮助,我按如下方式更改了代码,并解决了nullbale错误:

查看

@Html.EditorFor(m => m.Rem1SendToEmail1) 

<强>模型

public bool Rem1SendToEmail1 { get; set; }

<强>控制器

smsAccount.Rem1SendToEmail1 = ClientSMSAccountModal.Rem1SendToEmail1;