ASP.NET MVC 4 AJAX Envoyer le formulaire ne fonctionne pas
Je suis en train de convertir un formulaire à partir d'synchrone asynchrone à l'aide de l'Ajax.BeginForm helper dans MVC 4.
De mon point de vue j'ai:
@{
ViewBag.Title = "Users > Edit";
var options = new AjaxOptions()
{
Url = Url.Action("Edit", "User"),
LoadingElementId = "saving",
LoadingElementDuration = 2000,
Confirm = "Are you sure you want to save this User?"
};
}
<div id="saving" style="display:none; color:Red; font-weight: bold">
<p>Saving...</p>
</div>
@using (Ajax.BeginForm(options))
{
@Html.ValidationSummary(true)
<fieldset>
.... FIELDS ...
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
Lorsque le bouton envoyer est cliqué sur un complet de publication est en cours d'exécution. Ma méthode d'action ressemble à ceci:
[HttpPost]
public ActionResult Edit(User user)
{
if (ModelState.IsValid)
{
_repository.Save(user);
TempData["message"] = String.Format("{0} has been saved.", user.Username);
}
return View(user);
}
Est-il quelque chose que je suis absent? A la MVC 4 version actuelle eu quelques problèmes?
Dans mon Web.Config j'ai ClientValidationEnabled et UnobtrusiveJavaScriptEnabled définie sur true.
J'ai aussi ces spécifié dans mon _Layout.cshtml:
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
source d'informationauteur adamwtiko
Vous devez vous connecter pour publier un commentaire.
Peut-être vous manque la discrète script ajax:
si je suis compris correcte, vous essayez d'afficher les données de contrôleur, après le succès, vous devez aller à la page d'accueil ?? si non pouvez-vous préciser. alors, qui va essayer de vous aider à
J'ai eu le même genre de problème... j'ai mis à jour tous les fichiers js avec nuget package console.
juste mes 2 cents, mais aussi au moment de la rédaction, le jquery.discrète.ajax fichier contient des appels à l'obsolète fonction jquery '.vivre " (=> il est supprimé à partir de jquery 1.9+ version) jquery live
Je pense qu'il y a comme 4 événements que vous devrez changer avec .surmaintenant il fonctionne très bien 😉