Ajax.BeginForm ne pas faire appel onSuccess
Dans ASP.NET MVC 3 application que j'utilise Ajax.BeginForm de poster des écrits de texte de contrôleur.
@using (Ajax.BeginForm("Post", "Forum", new {threadId = Model.Thread.Id }, new AjaxOptions { OnSuccess = "PostReply" }))
{
<div id="reply-area">
<h3 style="border-bottom:1px solid black">POST REPLY</h3>
<span id="post-error" class="error-message"></span>
<textarea rows="1" cols="1" id="post-textarea" name="Content"> </textarea>
<input type="submit" class="button" value="Submit"/>
</div>
}
Dans le contrôleur, j'ai
[HttpPost]
public ActionResult Post(int threadId,PostModel model)
{
bool Success = false;
if (ModelState.IsValid)
{
Success=Unit.ForumFacade.CreatePost(Unit.ForumFacade.GetThreadByID(threadId), model.Content, CurrentUserId);
if (Success == true) return View("PostSuccess");
}
return Json("fsdfds");
}
Et en javascript, j'ai cette
function PostReply(isRequestSuccessed) {
alert("asdasd");
if (isRequestSuccessed==false) {
$("#post-error").html("Please Try Again");
}
else
{
$("#post-error").html("");
}
}
Le problème est que le Javascript de la fonction ne fait pas de tir et plutôt que de l'alerte, mon navigateur(Firefox) me renvoie pop-up permettant de télécharger l'application/fichier json.
Quel est le problème ici?
- Veuillez consulter le stackoverflow.com/questions/5061063/...
Vous devez vous connecter pour publier un commentaire.
Assurez-vous d'avoir inclus le script suivant dans votre page:
et que vous avez activé javascript discret dans votre site web.config:
C'est ce qui rend
Ajax.*
aides telles queAjax.BeginForm
de travail.Grâce à "Darin Dimitrov" et sa réponse pour signaler que beaucoup à ce sujet. Mais juste en ajoutant à ça, je sais que cela pourrait être simple, mais ce qui m',
Mon erreur est que je pensais que
et
où même quand ils ne le sont pas. Assurez-vous d'utiliser l' "jquery.unobtrusive-ajax.js" trouvé dans Nuget.
Microsoft.jQuery.Discrète.Ajax
Il est beaucoup plus agréable de la solution lorsque vous donnez à votre forme d'un Identifiant et puis fixer l'événement submit dans un autre fichier javascript (à l'aide de jQuery) et de gérer le post il y
html:
Javascript:
Html.BeginForm
versionici la meilleure solution que j'ai trouvé 100% de la correction..
http://www.learnsharecorner.com/asp-net/ajax-begin-form-onsuccess-is-not-working-asp-net-mvc/