49 votes

Comment utiliser Ajax.ActionLink?

Tout d’abord, où est la documentation pour Ajax.* méthodes dans asp.net mvc?

Peut-on utiliser Ajax.ActionLink pour appeler une action, obtenir une vue partielle, ouvrir une fenêtre modale et y insérer le contenu?

60voto

FelixMM Points 1538

Bien sûr, une très question similaire a été posée avant. Réglez le contrôleur pour les requêtes ajax:

public ActionResult Show()
{
    if (Request.IsAjaxRequest()) 
    {
        return PartialView("Your_partial_view", new Model());
    }
    else 
    {
        return View();
    }
}

Définir le lien d'action que l'on veut:

@Ajax.ActionLink("Show", 
                 "Show", 
                 null, 
                 new AjaxOptions { HttpMethod = "GET", 
                 InsertionMode = InsertionMode.Replace, 
                 UpdateTargetId = "dialog_window_id", 
                 OnComplete = "your_js_function();" })

Notez que je suis en utilisant le moteur de vue Razor, et que votre AjaxOptions peut varier en fonction de ce que vous voulez. Enfin l'afficher dans une fenêtre modale. Le jQuery UI dialog est suggéré.

41voto

user1647464 Points 91

@ Ajax.ActionLink nécessite la bibliothèque jQuery AJAX Unobtrusive. Vous pouvez le télécharger via Nuget:

 Install-Package Microsoft.jQuery.Unobtrusive.Ajax
 

Ajoutez ensuite ce code à votre vue:

 @Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
 

7voto

Ajax.ActionLink seulement envoie une requête ajax vers le serveur. Ce qui se passe à l'avance dépend vraiment du type des données renvoyées et ce que votre script côté client, en fait. Vous pouvez envoyer une vue partielle pour l'appel ajax ou json, xml, ... Ajax.ActionLink cependant différents rappels et les paramètres qui vous permettent d'écrire du code js sur différents événements. Vous pouvez faire quelque chose avant que la requête est envoyée ou onComplete. de même, vous avez un onSuccess de rappel. C'est l'endroit où vous mettez votre code JS pour la manipulation de résultat retourné par le serveur. Vous pouvez simplement le mettre dans UpdateTargetID ou vous pouvez faire de fantaisie avec ce résultat à l'aide de jQuery ou une autre bibliothèque JS.

5voto

Bala R Points 57552

Voici la documentation MSDN pour Ajax.ActionLink

Voici un article MSDN avec quelques exemples relatifs à Ajax.ActionLink

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X