2012-03-05 46 views
0

我需要在我的控制器中調用post方法,並且在我的視圖中使用了HTML.ActionLink。如何使用MVC中的操作鏈接調用post方法3

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

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

但它始終是取我

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

試圖弄清楚完整的上下文而不看你的代碼是困難的。你可以整天得到猜測性的答案,而且沒有一個真正解決你想知道的問題。 – samack 2012-03-05 08:17:22

+0

@samack我是這個MVC內容的新進入者。我已經找到了一些關於這方面的文章,並將繼續前進。讓我清楚地說明要求。我有一個HTMl.Action鏈接點擊該動作鏈接,它應該調用我的控制器中的方法[HTTpVerbs.Post] Public ActionResult EditUser(){} ..但是總是調用GetUser的Get方法 – yrksundeep 2012-03-05 10:45:01

回答

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 2012-03-05 08:55:15

+0

這不會起作用 - 它可能是'href =「javascript:dopost()」'或'onclick =「dopost()」'。然而,從腳本本身綁定它('$('#button')。click(function(){...})')優於這些解決方案 – 2012-03-05 11:57:48

+0

@MikeSW - 假設沒有任何形式否則他們會使用提交按鈕。此外,提交按鈕實際上會導致頁面導航到您提交的任何地方,而這可能不是您想要的。 – 2012-03-05 16:15:37

相關問題