我需要在我的控制器中調用post方法,並且在我的視圖中使用了HTML.ActionLink。如何使用MVC中的操作鏈接調用post方法3
@HTML.ActionLink("EditUser","User");
[HTTpVerbs.Post]
Public ActionResult EditUser()
{...}
但它始終是取我
[HTTPVerbs.Get]
Public ActionResult EditUser()
{...}
我需要在我的控制器中調用post方法,並且在我的視圖中使用了HTML.ActionLink。如何使用MVC中的操作鏈接調用post方法3
@HTML.ActionLink("EditUser","User");
[HTTpVerbs.Post]
Public ActionResult EditUser()
{...}
但它始終是取我
[HTTPVerbs.Get]
Public ActionResult EditUser()
{...}
簡短的回答是,你不能直接。
較長的答案是,您將需要編寫一個ajax javascript方法來執行此操作。例如:
<a onclick="dopost()"/>
<script type="text/javascript">
function dopost() {
$.ajax({
type: 'POST',
url: ... ,
data: ...,
success: ...,
dataType: ...
});
}
</script>
你不需要爲了使它成爲ajax,一個簡單的form.submit()應該足夠了,但它需要一個表單,除了一個鏈接。 – MikeSW 2012-03-05 08:55:15
這不會起作用 - 它可能是'href =「javascript:dopost()」'或'onclick =「dopost()」'。然而,從腳本本身綁定它('$('#button')。click(function(){...})')優於這些解決方案 – 2012-03-05 11:57:48
@MikeSW - 假設沒有任何形式否則他們會使用提交按鈕。此外,提交按鈕實際上會導致頁面導航到您提交的任何地方,而這可能不是您想要的。 – 2012-03-05 16:15:37
試圖弄清楚完整的上下文而不看你的代碼是困難的。你可以整天得到猜測性的答案,而且沒有一個真正解決你想知道的問題。 – samack 2012-03-05 08:17:22
@samack我是這個MVC內容的新進入者。我已經找到了一些關於這方面的文章,並將繼續前進。讓我清楚地說明要求。我有一個HTMl.Action鏈接點擊該動作鏈接,它應該調用我的控制器中的方法[HTTpVerbs.Post] Public ActionResult EditUser(){} ..但是總是調用GetUser的Get方法 – yrksundeep 2012-03-05 10:45:01