0

我在评估 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 仅在我打开 DeveloperTools 并且浏览器在“调试器”中停止时才具有值。如果工具已关闭,我会收到“参数字典包含方法的不可为空类型‘System.Boolean’的参数‘filterByUser’的空条目”

另一个值 searchValue 在评估中没有问题。

我能做些什么来解决这个问题?谢谢你,丹尼尔

4

1 回答 1

0

我知道了。问题是助手已经在表单中。如果我在 js keydown 处理程序中放置一个断点/警报,它就会被执行。如果不是,则在按下 textarea 时使用 form.submit 调用控制器操作。

我的解决方案:移除了 js 处理程序,并调整了表单中的属性以匹配控制器操作属性。

于 2012-10-03T09:01:11.193 回答