ASP.NET MVC - Comment obtenir Ajax « onclick » pour une action spécifique (j'ai besoin pour Ajax.ActionLink ce Url.RouteUrl fait pour Html.ActionLink)

StackOverflow https://stackoverflow.com/questions/906303

Question

Révision Je veux ajouter un onclick à un élément qui gère une requête Ajax, pas seulement une route-redirect.


J'ai ces options pour une route-url.

Html.ActionLink(params)
Url.RouteUrl(params) 'returns JUST ActionUrl

Je peux donc aller comme

<div onclick="javascript:location.href('<%=Url.RouteUrl(params)%>')"></div>

Mais comment puis-je produis ce qui suit ??

<div onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'WorkorderDetails' });"></div>
Était-ce utile?

La solution

Il se trouve qu'il est impossible. La fonction Sys.Mvc.AsyncHyperlink.handleClick () repose sur l'étiquette d'ancrage pour fonctionner correctement. Le href spécifié dans l'ancre est utilisé pour déterminer quel service est appelé sur le serveur.

J'ai fini par créer un Ajax.ActionLink () et le rendre invisible (display: none). Je sais appeler le clic en utilisant Javascript. jQuery fait (Invoke normal: link.click () ne fonctionne pas correctement!):

$(link).trigger("click");

Autres conseils

Je ne sais pas si je comprends bien la bonne question, mais vous voulez juste l'URL brute, sur la base d'une méthode d'action ou quelque chose?

Alors, comment sur le UrlHelper classe ?

question précédente sur le SO discute cette option.

Comme je l'ai dit, je ne suis pas sûr d'avoir compris la question 100%, cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top