如何让Ajax.ActionLink发送Http Post请求?

时间:2011-09-16 00:57:37

标签: asp.net-mvc asp.net-mvc-3 post razor

如果我运行以下代码,我收到错误消息“在控制器上找不到公共操作方法'PostAction'... ”。 Fiddler显示使用GET请求而不是POST。我试图用Ajax.BeginForm替换Html.BeginForm,它没有帮助。那我该怎么办?感谢。

@using (Html.BeginForm())
{ 
    @Ajax.ActionLink("ClickMe", "PostAction", new AjaxOptions { HttpMethod = "POST" }) 
}

[HttpPost]
 public virtual ActionResult PostAction() { ... }

UPDATE,附加信息:这就是MVC生成Html锚点的方式:

<a onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, httpMethod: 'POST' });" href="/.../PostAction/">ClickMe</a>

1 个答案:

答案 0 :(得分:1)

哦,我只是忘了添加对MicrosoftAjax.js和MicrosoftMvcAjax.js的引用。当我添加它们时,一切正常。对不起愚蠢的帖子