ASP.NET MVC 4 - Ajax.BeginForm et html5

De La Configuration:

J'ai mis à jour une application à partir de ASP.NET MVC 3 ASP.NET MVC 4.

L'application a bien fonctionné dans MVC 3. La seule chose qui ne fonctionne pas dans MVC 4 est Ajax.Commencer formulaire: le formulaire par défaut à la page complète des demandes, au lieu de l'asynchrone des requêtes AJAX.

Il s'agit essentiellement d'un assistant que j'ai écrit, mais c'est sans importance. De modèle.Étape.ActionName correctement retourne une chaîne de caractères (voir le code ci-dessous).

Le Code:

Le code dans la Vue est:

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

//form contents

}
}

Le Rendu:

Je note que l'Ajax.BeginForm MVC 4 utilise le HTML 5. Je montre la différence entre la façon dont MVC MVC 3 et 4 de rendre le formulaire ci-dessous:

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>

Je n'ai aucune idée si cela est correct, mais pensent qu'il est.

Le Problème:

Le problème, cependant, est que l'Ajax n'est pas utilisé, tout plein de la page est rafraîchie. Donc sumat est faux...

La Question:

La question est: Quel est le problème?!

OriginalL'auteur awrigley | 2012-09-20