2013-01-07 2 views
0

POST 속성 데이터를 Ajax.ActionLink에 지정하는 방법을 찾고 있습니다.Ajax.ActionLink로 양식 속성을 지정할 수 있습니다.

Ajax.ActionLink("My Link", 
       "SomeAction", 
       "SomeController", 
       new AjaxOptions { HttpMethod = "Post" }, 
       { myParameter = "myValue" }) 

불행하게도, 이것은 URL에 &myParameter=myValue의 추가 결과 : 내 추측이 라인을 따라 뭔가입니다.

관련성이있는 경우 궁극적으로 위조 방지 토큰을 __RequestVerificationToken 매개 변수를 통해 요청에 주입하려고합니다.

+0

체크 아웃이 자원 : 대안을 통해 데이터를 게시하는 과정을 통해 당신에게 완벽하게 제어 할 수 있습니다 JQuery와, 사용하는 것입니다 .net/dixin/archive/2010/05/22/anti-forgery-request-recipes-for-asp-net-mvc-and-ajax.aspx는 ajax.actionlink가 아닌 손으로 만들어진 $ ajax 문을 사용합니다. – bUKaneer

+0

나는 기대하고있었습니다. 기존 도우미 기능 아키텍처에 의존하는 무언가를 사용하는 것. 아마도 나는 이것을 위해 jQuery 도메인으로 옮기는 것이 낫다. 감사. –

답변

0

액션 메서드를 사용하면 액션 메서드를 구현하는 방법을 자비로 사용하게됩니다. //weblogs.asp : - 그것의 나를 위해 마법처럼 일했다 ... HTTP

$.ajax({ 
    type: "post", 
    url: "..", 
    data { myParameter: "myvalue" }, 
    . 
    . 
}); 
+0

당신이'Html.ActionLink'를 참조한다면 당신이 맞습니다. 그러나'Ajax.ActionLink'의 예제는'HttpMethod = "Post"'가 지정되었을 때 POST 동사를 실제로 사용합니다. 사실로. '$ .ajax'는 눈에 잘 띄지 않는 아약스를 통해 클릭 될 때 궁극적으로 시작됩니다. –

+0

네, 맞습니다. 사과드립니다. 나는 내 대답을 수정했다. –

+0

눈에 띄지 않는 아약스를 살펴보면, 'Ajax.ActionLink'에 대한 데이터 속성을 설정하는 방법이없는 것처럼 보입니다. 결국 궁극적으로'$ .ajax'를 사용하는 헬퍼 함수를 ​​구축하게되었습니다. 내가 원하는 것은 아니지만, 당신의 제안은 가능한 한 정확한 수정에 가깝습니다. –

관련 문제