好的,我在stackoverflow上发布了一个关于具有可视视图模型参数的复选框的问题,并被告知这不起作用。我已经大大改变了我的应用程序以支持不可为空的视图模型参数,所以我准备再次提出我的问题了。
我的应用程序中有一个复选框,如下所示:
@Html.CheckBoxFor(m => m.IsNonUk)
在浏览器中呈现如下:
<input data-val="true" id="IsNonUk" name="IsNonUk" type="checkbox" value="true" />
<input name="IsNonUk" type="hidden" value="false" />
检查Chrome中的元素会显示以下标记:
<input data-val="true" id="IsNonUk" name="IsNonUk" type="checkbox" value="">
<input name="IsNonUk" type="hidden" value="">
我的行动有这个签名:
public ActionResult CreateSelfPay(CreateSelfPayViewModel viewModel)
我的CreateSelfPayViewModel视图模型包含此属性:
public class CreateSelfPayViewModel : ViewModel
{
// ..
[DisplayName("Is non-UK")]
public bool IsNonUk { get; set; }
// ..
}
问题是无论我对复选框做什么,发回服务器的值都是null,这会导致视图模型中出现false值。我和Fiddler一起检查了这个。
发生了什么事?如果选中该框,为什么我不能得到真值?
我希望有人可以提供帮助!
==更多信息==
该应用程序使用各种库,如jQuery,jQuery validate,jQuery UI和Bootstrap。也许其中一个是摆弄输入值,因为在使用开发人员工具检查时它们是null。有谁知道这方面的任何问题?
中号