JavaScript оценивает HiddenFor ТОЛЬКО, когда прекращает отлаживать его (ASP MVC4)

У меня проблема с оценкой скрытого поля в JavaScript (ASP MVC4) Я использую модель в своем View и у меня есть скрытый ввод для свойства в модели

@Html.HiddenFor(mdl => mdl.FilterByUser, new { @id = "filterByUserId" })

У меня есть Помощник с SearchBox, и при нажатии клавиши ввода я делаю поиск.

$("#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 и браузер останавливается в "отладчике". Если инструменты закрыты, я получаю "Словарь параметров содержит пустую запись для параметра" filterByUser "не обнуляемого типа" System.Boolean "для метода"

Другое значение searchValue не имеет проблем при оценке.

Что я могу сделать, чтобы это исправить? Спасибо Дэниел

1 ответ

Я понял. Проблема была в том, что помощник был уже в форме. Если я поместил точку останова / предупреждение в обработчик клавиш js, он был выполнен. Если нет, то действие контроллера было вызвано с помощью form.submit на textarea, ввод нажат.

Мое решение: обработчик js был удален, а свойства в форме были настроены в соответствии со свойствами действия контроллера.

Другие вопросы по тегам