如果我運行以下代碼,我收到錯誤消息「在控制器上找不到公共操作方法'PostAction'...」。使用提琴手顯示GET請求而不是POST。我試圖用Ajax.BeginForm替換Html.BeginForm,但它沒有幫助。那麼我做錯了什麼?謝謝。如何讓Ajax.ActionLink發送Http Post請求?
@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>
超鏈接== GET – SLaks
沒錯,但它不只是超鏈接,MVC處理它的點擊事件並嘗試在POST模式下運行它,至少這是它假設的工作方式。 – YMC