ASP.NET MVC – Как получить Ajax «onclick» для определенного действия (мне нужно для Ajax.ActionLink то, что Url.RouteUrl делает для Html.ActionLink)

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

Вопрос

ПЕРЕСМОТР
Я хочу добавить 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>
Это было полезно?

Решение

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

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

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

Другие советы

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

Тогда как насчет Класс УрлХелпер?

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top