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

REVISION
Я хочу добавить 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>

person Ropstah    schedule 25.05.2009    source источник
comment
довольно расплывчатый вопрос, вы хотите вызвать действие в своем контроллере с помощью ajax или как?   -  person Peter    schedule 25.05.2009
comment
да, я пытался перефразировать... Как мне получить только часть onclick, которая генерируется для ответа Ajax... Я не хочу быть привязанным к тегу Anchor, выполняющему запрос ajax...   -  person Ropstah    schedule 25.05.2009


Ответы (2)


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

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

$(link).trigger("click");
person Ropstah    schedule 04.06.2009
comment
+1 спасибо! Я нашел ваш ответ 2 года спустя, и это мне очень помогло :) - person MattDavey; 25.11.2011

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

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

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

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

person Pure.Krome    schedule 25.05.2009