ASPNET MVC 3 Ajax.BeginForm не работает ни с Chrome, ни с Firefox. Работает с IE - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть частичное представление, которое содержит два других частичных представления.Содержащие из них имеют что-то вроде

<div id="divCIContent" class="rcol-box">
    @using (Ajax.BeginForm("SaveCI", "MyController", new AjaxOptions
{
    HttpMethod = "POST",
    InsertionMode = InsertionMode.Replace,
    UpdateTargetId = "divCIContent"
}, new { id = "ajaxFormCI" }))

, и это внутри формы

<button type="submit" class="my-save">Save</button></li>

Ru При нажатии кнопки «Сохранить» контроллер должен сохранить значения формы и вернуть другое частичное представление как PartialViewResult.

Проблема в том, что в Chrome и Firefox выполняется полный постбэк, и результат отображается на пустой новой странице, а не внутри _Layout.В IE все работает нормально.

В методе контроллера я вижу, что Request.IsAjaxRequest возвращает false для Chrome и Firefox true для IE.В Fiddler, Firebug и Chrome нет никаких ошибок.

У меня установлены ключи webconfig

<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

, и я использую неброские файлы jquery ajax.

Есть идеи?Заранее спасибо!Гильермо.

1 Ответ

0 голосов
/ 17 ноября 2011

Наконец, проблема заключалась в том, что у нас были вложенные формы (одна на главной странице, содержащей PartialViews, и одна внутри каждого PartialView. Когда мы удалили форму на главной странице, она начала работать. Спасибо! Гильермо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...