MVC 4 Checkbox两次回复 - 均为null

时间:2014-11-25 11:49:23

标签: html asp.net-mvc forms

我有一个简单的要求,可以在MVC 4中向表单发布一个布尔值。我使用Html.CheckBox而不是Html.CheckBoxFor,因为布尔值可以为空。

我的代码如下所示:

@Html.CheckBox("IsNonUk", Model.IsNonUk.GetValueOrDefault(false))

此标记生成的HTML如下所示:

<input id="IsNonUk" name="IsNonUk" type="checkbox" value="true" />
<input name="IsNonUk" type="hidden" value="false" />

我理解生成隐藏字段背后的原因,但问题是使用Fiddler检查帖子后显示IsNonUk值被回发两次,并且这两个表单变量的值都为空。

我做错了什么?

==编辑以回应评论

控制器操作签名如下所示:

public ActionResult CreateSelfPay(CreateSelfPayViewModel viewModel)

CreateSelfPayViewModel有一个属性:

public bool? IsNonUk { get; set; }

由于我无法简单解释的原因,该属性必须可以为空。设计中不可能使用true,false和unspecified下拉列表。我很高兴将null值渲染为unchcecked。

正如我所说,Fiddler揭示了表单变量被回发两次,都是null。

中号

0 个答案:

没有答案