我正在使用带有c#的ASP.NET MVC。
我在我的视图中使用了CheckBoxFor,它的布尔值为RememberMe。
这是我在视图中的复选框:
<%:Html.CheckBoxFor(model => model.RememberMe)%>
并在.js函数中获取它的值。
默认情况下,它设置为true 但如果我取消选中该框,它仍然会返回.js函数的真值。
viewModel值的函数:
function getViewModel() {
var viewModel = {
'UserName': $("#UserName").val(),
'Password': $("#Password").val(),
'RememberMe': $("#RememberMe").val()
};
return viewModel;
}
正在获得其他值正确但即使我取消选中也记得我是正确的
请建议我。
答案 0 :(得分:4)
复选框元素的value属性是固定的 - 这不是您想要检查的内容。如果在提交表单时选中该框,则此名称/值对仅通过HTTP 发送。
相反,请查看函数中是否选中了复选框,并相应地设置了view-model属性值:
function getViewModel() {
var viewModel = {
'UserName': $("#UserName").val(),
'Password': $("#Password").val(),
'RememberMe': $("#RememberMe").is(":checked") ? "true" : "false"
};
return viewModel;
}
或者您希望传递的任何值而不是“true”或“false”