2016-05-04 2 views
-1

У нас есть представление, где есть 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, но не вызывает действие контроллера. Когда мы проверяем его снова, он работает хорошо. Так что в этом случае он работает только при проверке флажка, но не при снятии отметки.

Мы пробовали много вещей, но это странно ... возможно, кто-нибудь знает об этой проблеме.

Заранее спасибо.

+0

Что у вас в консоли? (Кнопка F12 в браузере.) Какие-либо ошибки? Покажите ваш контроллер также пожалуйста –

+0

Нет ошибок, на самом деле я проверил, и он проходит везде в любом случае. Единственная проблема заключается в том, когда он сначала проверяется, что ничего не делает в контроллере (сервере), но он выполняет штраф javascript. –

+0

У вас есть только одна форма на вашей странице? Может быть, что '.closest ('form')' возвращает другую форму –

ответ

0

Не было проблем с самим CheckBox, внутри формы был элемент управления, который указывал неверное значение, когда CheckBox был проверен, поэтому форма не проверялась, а также не выполняла вызов ajax ,

Извините, ребята, спасибо за ваши ответы.

Надеюсь, по крайней мере, это может помочь кому-то с подобными ошибками.