ASP.NET MVC 3 (Razor) Ajax.ActionLink - Was mache ich falsch?
Versuch, eine AJAX-action link, wenn darauf geklickt wird, sollte ein HttpGet
zu einer action-Methode gibt ein PartialViewResult
und schiebt den HTML-Code in ein div.
Hier ist meine Ansicht:
<div id="admin-options" class="admin"></div>
@Ajax.ActionLink("Show Admin Options", "ShowOptions", "Post", new { area = "Admin" }, new AjaxOptions { UpdateTargetId = "admin-options", HttpMethod = "GET" })
Hier ist die action-Methode:
public class PostController : Controller
{
[HttpGet]
[Authorize(Roles="Admin")]
public PartialViewResult ShowOptions()
{
return PartialView();
}
}
Hier die HTML-Ausgabe, die es erzeugt:
<a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#admin-options" href="/Admin/Post/ShowOptions">Show Admin Options</a>
Sieht gut zu mir.
Aber anstatt das zu tun einen AJAX-Aufruf, tut es eine normale HTTP-GET über die browser-URL und leitet auf /Admin/Post - /ShowOptions.
Offensichtlich, im fehlt etwas - aber was?
InformationsquelleAutor der Frage RPM1984 | 2011-04-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie sicher, dass der unauffällige AJAX-javascript-Bibliothek in die Seite.
InformationsquelleAutor der Antwort Talljoe
Und für diejenigen, die mit der Razor view engine...
InformationsquelleAutor der Antwort psy
Können Sie auch die InsertionMode option in der AjaxOptions. Ich bin sicher, dass es ein default-Verhalten, wenn Sie ihn ausschließen, aber es ist besser, explizit zu definieren, es für Dinge wie diese.
InformationsquelleAutor der Antwort Nick Albrecht