У нас есть представление, где есть CheckBox, который мы устанавливаем из свойства модели.ASP MVC CheckBox form submit issues
@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "content_list", Url = Url.Action("IndexList", "UsersAdmin", new { id = "formSearch" })))
{
.......(some code)
<div id="content_list">
@Html.CheckBoxFor(model => model.SearchAll)
</div>
<div id="content_list">
@Html.Partial("_List", Model)
</div>
}
В зависимости от первой загрузки флажок установлен или нет. Это отлично работает, никаких проблем.
Как вы видите, CheckBox находится внутри формы Ajax, которая обновляет частичный список, содержащий список.
В сценарии, которые мы имеем:
$("#SearchAll").change(function() {
jQuery('#SearchAll').closest('form').submit();
});
Когда CheckBox первой нагрузку непроверенного нет никаких проблем. Мы проверяем его и снимаем с него флажок, и всегда вызывается действие контроллера.
Проблема в том, что мы сначала загрузили CheckBox (истинное значение). В этом случае, когда мы снимаем флажок, он переходит к функции изменения javascript, но не вызывает действие контроллера. Когда мы проверяем его снова, он работает хорошо. Так что в этом случае он работает только при проверке флажка, но не при снятии отметки.
Мы пробовали много вещей, но это странно ... возможно, кто-нибудь знает об этой проблеме.
Заранее спасибо.
Что у вас в консоли? (Кнопка F12 в браузере.) Какие-либо ошибки? Покажите ваш контроллер также пожалуйста –
Нет ошибок, на самом деле я проверил, и он проходит везде в любом случае. Единственная проблема заключается в том, когда он сначала проверяется, что ничего не делает в контроллере (сервере), но он выполняет штраф javascript. –
У вас есть только одна форма на вашей странице? Может быть, что '.closest ('form')' возвращает другую форму –