2012-03-05 4 views
0

내 컨트롤러에서 POST 메서드를 호출해야하며 내 뷰에서 HTML.ActionLink를 사용하고 있습니다.MVC 3의 액션 링크를 사용하여 POST 메서드를 호출하는 방법

@HTML.ActionLink("EditUser","User"); 

[HTTpVerbs.Post] 
Public ActionResult EditUser() 
{...} 

그러나 항상

[HTTPVerbs.Get] 
Public ActionResult EditUser() 
{...} 
+1

코드를 보지 않고 전체 내용을 파악하는 것은 어렵습니다. 당신은 하루 종일 투기 적 대답을 얻을 수 있고 그들 중 누구도 당신이 알고 싶은 것을 실제로 다룰 수는 없습니다. – samack

+0

@samack 나는이 MVC에 새로운 참가자가되었다. 나는 이것에 관한 기사를 찾았고 앞으로 나아갈 것입니다. 요구 사항을 명확하게 기재하겠습니다. HTMl.Action 링크를 클릭하면 해당 컨트롤러에서 메서드를 호출해야합니다. [HTTpVerbs.Post] Public ActionResult EditUser() {} .. 대신 EditUser Get 메서드를 호출합니다. – yrksundeep

답변

2

짧은 대답으로 나를 가져 오는됩니다 당신이 직접 할 수없는 그.

더 긴 대답은 그렇게하기 위해 ajax javascript 메소드를 작성해야한다는 것입니다. 예 :

<a onclick="dopost()"/> 

<script type="text/javascript"> 
    function dopost() { 
     $.ajax({ 
      type: 'POST', 
      url: ... , 
      data: ..., 
      success: ..., 
      dataType: ... 
     }); 
    } 
</script> 
+0

필요하지 않습니다. 그것을 ajax로 만들려면 간단한 form.submit()으로 충분해야하지만 링크 옆에 양식이 필요합니다. – MikeSW

+0

이것은 작동하지 않습니다 - 그것은 href = "javascript : dopost()"또는'onclick = "dopost()"'중 하나입니다. 그러나 스크립트 자체 ($ ('# button') .click (function() {...})')에서 그 값을 바꾼다. –

+0

@MikeSW - 형식이 없다는 가정 그렇지 않으면 제출 단추를 사용합니다. 또한 제출 버튼을 사용하면 실제로 제출중인 페이지로 이동할 수 있으며 원하지 않을 수도 있습니다. –

관련 문제