ASP.NET MVC 4 - Ajax.BeginForm и html5

The Setup:

Я обновил приложение с ASP.NET MVC 3 до ASP.NET MVC 4.

Приложение прекрасно работало в MVC 3. Единственная вещь, которая не работает в MVC 4, - это форма Ajax.Begin: форма по умолчанию соответствует запросам на полную страницу, а не асинхронным запросам AJAX.

По сути, это волшебник, которого я написал, но это не имеет значения. Model.Step.ActionName правильно возвращает строку (см. Код ниже).

The Code:

Код в представлении:

@{ 
    using (Ajax.BeginForm(Model.Step.ActionName, null, new AjaxOptions { UpdateTargetId = "wizardStep", OnBegin="isValid", LoadingElementId="PleaseWait", OnSuccess="SetFocusOnForm" }, 
        new {@name="wizardForm", @id="wizardForm" } ))
{

//form contents

}
}
The Rendering:

Я отмечаю, что Ajax.BeginForm в MVC 4 использует HTML 5. Я показываю разницу между тем, как MVC 3 и MVC 4 отображают форму ниже:

MVC 3:

<form action="/Solicitors/Company/New/YourDetails" id="wizardForm" method="post" name="wizardForm" onclick="Sys.Mvc.AsyncForm.handleClick(this, new Sys.UI.DomEvent(event));" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'PleaseWait', updateTargetId: 'wizardStep', onBegin: Function.createDelegate(this, isValid), onSuccess: Function.createDelegate(this, SetFocusOnForm) });">

// form contents

</form>

MVC 4:

<form action="/Solicitors/Company/New/LoginDetails" data-ajax="true" data-ajax-begin="isValid" data-ajax-loading="#PleaseWait" data-ajax-mode="replace" data-ajax-success="SetFocusOnForm" data-ajax-update="#wizardStep" id="wizardForm" method="post" name="wizardForm" novalidate="novalidate">

// form contents

</form>

Я понятия не имею, если это правильно, но предположим, что это так.

The Problem:

Проблема, однако, заключается в том, что Ajax не используется, только полное обновление страницы. Так что Сумат не прав ...

The Question:

Вопрос в том, что не так ?!

Ответы на вопрос(1)

Ваш ответ на вопрос