JavaScript 仅在停止调试时评估 HiddenFor U(ASP MVC4)



我在评估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 处理程序,并调整了表单中的属性以匹配控制器操作属性。

最新更新