Ajax.ActionLink appel contrôleur à deux reprises
Quand je clique sur Ajax.ActionLink c'est l'appel de mon contrôleur à deux reprises.
<td id = @tdTag>
@Ajax.ActionLink("LL-" + item.getProjectAbbreviation(item.projectID.Value) + "-" + item.prjLessonID, "Details",
new { id = item.lessonID },
new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "details",
InsertionMode = InsertionMode.InsertAfter ,
OnSuccess = "showDetails()"
})
Mon Contrôleur ressemble à...
public ActionResult Details(int id)
{
using (LLDataContext storeDB = new LLDataContext())
{
var lesson = (from l in storeDB.lessons
where l.lessonID == id
select l).SingleOrDefault();
return PartialView(lesson);
}
}
- Pouvez-vous fournir la mise en oeuvre de la méthode javascript showDetails?
Vous devez vous connecter pour publier un commentaire.
J'ai juste couru dans cette même question, et j'ai trouvé que j'avais "jquery.unobtrusive-ajax.js" chargé à deux reprises. J'ai supprimé le deuxième instance et tout fonctionne bien. Pour le voir en action, il suffit d'ajouter trois fois et de créer un @Ajax.ActionLink(...) avec une Confirmer AjaxOption. Vous obtiendrez confirmé à de multiples reprises.
utiliser d'une seule js pas à la fois un
ou
Il permettra de résoudre votre problèmes.
anAgent réponse m'a aidé à résoudre ce problème, mais comme un add-on, je vais mentionner que, dans mon cas, les multiples références à "jquery.unobtrusive-ajax.js" dans les différents fichiers; il est mavue.cshtml, et l'autre dans _Layout.cshtml.
Assurez-vous d'avoir inclus le jquery discrète script dans votre page (en plus de jquery):
et que vous avez activé javascript discret dans votre site web.config
En plus de diagnostiquer ces problèmes, je vous recommande en utilisant certains outil qui vous permettra de voir exactement ce qui se passe au niveau HTTP. FireBug est plus qu'excellent pour ce type d'analyse. Il permettra également de montrer les éventuelles erreurs de javascript que vous pourriez avoir, il sera afficher ou non les requêtes AJAX qui va vous fournir des informations complémentaires si une requête AJAX est exécutée ou une requête normale, ... des trucs utiles.
il suffit de cocher cette jquery référence
peut-être vous ajoutez en vue deux fois
ou