ASP.NET MVC - Как получить Ajax 'onclick' для определенного действия (мне нужно для Ajax.ActionLink то, что Url.RouteUrl делает для Html.ActionLink) - PullRequest
0 голосов
/ 25 мая 2009

ПЕРЕСМОТР
Я хочу добавить onclick к элементу, который обрабатывает Ajax-запрос, а не только к перенаправлению маршрута.


У меня есть эти опции для URL-адреса маршрута.

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

Так что я могу пойти как

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

Но как мне сгенерировать следующее?

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

Ответы [ 2 ]

4 голосов
/ 05 июня 2009

Оказывается, это невозможно. Функция Sys.Mvc.AsyncHyperlink.handleClick () опирается на тег привязки для правильной работы. Href, указанный в привязке, используется для определения того, какая служба вызывается на сервере.

В итоге я создал Ajax.ActionLink () и сделал его невидимым (display: none). Я знаю, вызвать клик, используя Javascript. JQuery на самом деле (нормальный invoke: link.click () не работает должным образом!):

$(link).trigger("click");
0 голосов
/ 25 мая 2009

Я не уверен, правильно ли я понимаю вопрос, но вам нужен только необработанный URL-адрес, основанный на методе действия или что-то в этом роде?

Тогда как насчет класса UrlHelper ?

Этот предыдущий вопрос о SO обсуждает эту опцию.

Как я уже сказал, я не уверен, что понял вопрос на 100%.

...