我在评估JavaScript中的隐藏字段时遇到问题(ASP MVC4) 我在视图中使用模型,并且模型中的属性有隐藏输入
@Html.HiddenFor(mdl => mdl.FilterByUser, new { @id = "filterByUserId" })
我有一个带有搜索框的助手,按下回车键时我正在进行搜索。
$("#search-box").keydown(function (event) {
var keypressed = event.keyCode || event.which;
if (keypressed == 13) {
var searchValue = $("#search-box").val();
var filterByUser = $("#filterByUserId").val();
debugger;
window.location = "?searchValue=" + searchValue + "&filterByUser=" + filterByUser;
}
});
问题是 var filterByUser 只有在我打开开发人员工具并且浏览器在"调试器"中停止时才具有值。 如果工具已关闭,我得到"参数字典包含方法不可为空类型'System.Boolean'的参数'filterByUser'的空条目"
另一个值,搜索值在被评估时没有问题。
我该怎么做才能解决这个问题? 谢谢你,丹尼尔
我明白了。问题是帮助程序已经在表单中。如果我在 js 键下处理程序中放置断点/警报,它就会被执行。如果没有,则在按下文本区域输入时使用 form.submit 调用控制器操作。
我的解决方案:删除了 js 处理程序,并调整了表单中的属性以匹配控制器操作属性。