ASP.NET MVC - 특정 작업에 대해 Ajax 'onclick'을 얻는 방법(Html.ActionLink에 대해 Url.RouteUrl이 수행하는 작업이 Ajax.ActionLink에 필요함)
-
05-09-2019 - |
문제
개정
경로 리디렉션뿐만 아니라 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%이해했는지 확신하지 못한다.
제휴하지 않습니다 StackOverflow