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 был удален, а свойства в форме были настроены в соответствии со свойствами действия контроллера.