2012-03-05 42 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

相关问题