asp.net mvc - que - Cómo usar Ajax.ActionLink?
para que sirve razor (5)
@ Ajax.ActionLink requiere la biblioteca jQuery AJAX Unobtrusive. Puedes descargarlo a través de nuget:
Install-Package Microsoft.jQuery.Unobtrusive.Ajax
A continuación, agregue este código a su Vista:
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
Antes que nada, ¿dónde está la documentación para los métodos Ajax.*
En asp.net mvc?
¿ Ajax.ActionLink
puede usar Ajax.ActionLink
para llamar a una acción, obtener una vista parcial, abrir una ventana modal y colocar el contenido en ella?
Ajax.ActionLink solo envía una solicitud ajax al servidor. Lo que sucede en el futuro realmente depende del tipo de datos que se devuelvan y de lo que haga la secuencia de comandos del lado del cliente. Puede enviar una vista parcial para una llamada ajax o json, xml, etc. Ajax.ActionLink tiene sin embargo diferentes devoluciones de llamada y parámetros que le permiten escribir el código js en diferentes eventos. Puede hacer algo antes de enviar la solicitud o de onComplete
. de manera similar, tiene una devolución de llamada onSuccess. Aquí es donde pone su código JS para manipular el resultado devuelto por el servidor. Simplemente puede volver a colocarlo en UpdateTargetID o puede hacer cosas extravagantes con este resultado utilizando jQuery o alguna otra biblioteca JS.
Aquí está la documentación de MSDN para Ajax.ActionLink
Aquí hay una publicación de MSDN con algunos ejemplos relacionados con Ajax.ActionLink
Claro, una pregunta muy similar se hizo antes. Configure el controlador para solicitudes ajax:
public ActionResult Show()
{
if (Request.IsAjaxRequest())
{
return PartialView("Your_partial_view", new Model());
}
else
{
return View();
}
}
Establezca el enlace de acción como desee:
@Ajax.ActionLink("Show",
"Show",
null,
new AjaxOptions { HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "dialog_window_id",
OnComplete = "your_js_function();" })
Tenga en cuenta que estoy usando el motor Razor view y que sus AjaxOptions pueden variar según lo que desee. Finalmente mostrarlo en una ventana modal. Se sugiere el diálogo jQuery UI .
Para mí, esto funcionó después de que descargué la biblioteca discreta AJAX vía NuGet:
Search and install via NuGet Packages: Microsoft.jQuery.Unobtrusive.Ajax
Luego agregue en la vista las referencias a jquery y Ajax Unobtrusive:
@Scripts.Render("~/bundles/jquery")
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"> </script>