Essayer d’avoir un lien d’action AJAX qui, une fois cliqué, devrait faire un HttpGet
à une méthode d’action qui retourne un PartialViewResult
et PartialViewResult
le HTML dans un div.
Voici ma vue:
@Ajax.ActionLink("Show Admin Options", "ShowOptions", "Post", new { area = "Admin" }, new AjaxOptions { UpdateTargetId = "admin-options", HttpMethod = "GET" })
Voici la méthode d’action:
public class PostController : Controller { [HttpGet] [Authorize(Roles="Admin")] public PartialViewResult ShowOptions() { return PartialView(); } }
Voici le code HTML qu’il génère:
Show Admin Options
Ça me va
Mais au lieu de faire un appel AJAX, il effectue un GET HTTP normal via l’URL du navigateur et redirige vers / Admin / Post / ShowOptions .
De toute évidence, il manque quelque chose – mais quoi?
Assurez-vous d’avoir la bibliothèque javascript AJAX discrète incluse dans votre page.
Et pour ceux qui utilisent le moteur de vue Razor …
Vous souhaiterez peut-être également inclure l’option InsertionMode dans AjaxOptions. Je suis sûr qu’il y a un comportement par défaut si vous l’excluez, mais il est préférable de le définir explicitement pour des choses comme ça.