我正在将ASP.NET MVC与c#一起使用。
我在我的视图中使用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;
}
它正在获取其他正确的值,但是即使我取消了它,RememberMe还是正确的
请给我一些建议。
最佳答案
复选框元素的value属性是固定的-这不是您要检查的内容。如果在提交表单时选中该框,则仅通过HTTP发送该名称/值对。
因此,请查看您的函数中是否已选中该复选框,并相应地设置一个view-model属性值:
function getViewModel() {
var viewModel = {
'UserName': $("#UserName").val(),
'Password': $("#Password").val(),
'RememberMe': $("#RememberMe").is(":checked") ? "true" : "false"
};
return viewModel;
}
或您要传递的任何值,而不是“ true”或“ false”