ASP.NET MVC - 특정 작업에 대해 Ajax 'onclick'을 얻는 방법(Html.ActionLink에 대해 Url.RouteUrl이 수행하는 작업이 Ajax.ActionLink에 필요함)

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

문제

개정
경로 리디렉션뿐만 아니라 Ajax 요청을 처리하는 요소에 onclick을 추가하고 싶습니다.


Route-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 만 원하십니까?

그럼 어때요 UrlHelper 클래스?

이것 이전 질문 이 옵션에 대해 토론하십시오.

내가 말했듯이, 나는 그 질문을 100%이해했는지 확신하지 못한다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top