ASP.NET MVC - Wie Ajax ‚Onclick‘ für eine bestimmte Aktion (Ich brauche für Ajax.ActionLink was Url.RouteUrl tut für Html.ActionLink) zu erhalten
-
05-09-2019 - |
Frage
REVISION
Ich mag einen Onclick auf ein Element hinzufügen, die einen Ajax-Request behandelt, nicht nur eine Route-Umleitung.
Ich habe diese Optionen für einen Route-url.
Html.ActionLink(params)
Url.RouteUrl(params) 'returns JUST ActionUrl
So ich wie
gehen<div onclick="javascript:location.href('<%=Url.RouteUrl(params)%>')"></div>
Aber wie erzeuge ich die folgende ??
<div onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'WorkorderDetails' });"></div>
Lösung
Es stellt sich heraus, dass es nicht möglich ist. Die Sys.Mvc.AsyncHyperlink.handleClick () Funktion beruht auf dem Anker-Tag richtig zu funktionieren. Die href im Anker angegeben werden verwendet, um zu bestimmen, welcher Dienst auf dem Server aufgerufen wird.
Ich landete einen Ajax.ActionLink Schaffung () und macht es unsichtbar (display: none). Ich kenne den Klick mit Javascript aufrufen. jQuery tatsächlich (normal invoke: link.click () funktioniert nicht richtig!):
$(link).trigger("click");
Andere Tipps
Ich bin mir nicht sicher, ob ich die Frage richtig zu verstehen, aber Sie wollen einfach nur die rohe URL, auf der Grundlage einer Aktion Methode oder etwas?
Wie wäre es dann die UrlHelper Klasse ?
Die vorherige Frage auf SO diskutiert diese Option.
Wie ich schon sagte, ich bin nicht sicher, ob ich die Frage zu 100% verstanden, though.