Come usare Ajax.ActionLink?

Prima di tutto, dov’è la documentazione per i metodi Ajax.* In asp.net mvc?

Ajax.ActionLink ansible utilizzare Ajax.ActionLink per chiamare un’azione, ottenere una vista parziale, aprire una finestra modale e inserire il contenuto?

Certo, una domanda molto simile è stata posta prima. Imposta il controller per richieste Ajax:

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

Imposta il link di azione come desiderato:

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

Tieni presente che sto utilizzando il motore di visualizzazione Razor e che le tue AjaxOptions potrebbero variare in base a ciò che desideri. Infine visualizzalo su una finestra modale. Viene suggerita la finestra di dialogo dell’interfaccia utente jQuery .

@ Ajax.ActionLink richiede jQuery AJAX Libreria discreta. Puoi scaricarlo tramite nuget:

 Install-Package Microsoft.jQuery.Unobtrusive.Ajax 

Quindi aggiungi questo codice alla tua vista:

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

Ajax.ActionLink invia solo una richiesta Ajax al server. Ciò che succede avanti dipende in realtà dal tipo di dati restituiti e da ciò che lo script lato client fa con esso. È ansible inviare una vista parziale per ajax call o json, xml, ecc. Ajax.ActionLink ha tuttavia callback e parametri diversi che consentono di scrivere codice js su diversi eventi. Puoi fare qualcosa prima che la richiesta sia inviata o onComplete . allo stesso modo hai un callback onSuccess. Qui è dove si inserisce il codice JS per manipolare i risultati restituiti dal server. Potresti semplicemente rimetterlo in UpdateTargetID o puoi fare cose fantasiose con questo risultato usando jQuery o qualche altra libreria JS.

Per me questo ha funzionato dopo aver scaricato la libreria AJAX Unobtrusive via NuGet:

  Search and install via NuGet Packages: Microsoft.jQuery.Unobtrusive.Ajax 

Aggiungendo nella vista i riferimenti a jquery e AJAX Unobtrusive:

 @Scripts.Render("~/bundles/jquery")  

Ecco la documentazione MSDN per Ajax.ActionLink

Ecco un post MSDN con alcuni esempi relativi a Ajax.ActionLink