我需要在我的控制器中调用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