次のコードを実行した場合、エラーメッセージ "" PublicActionメソッド 'PostAction'がコントローラで見つかりませんでした... "。 FiddlerがPOSTの代わりにGET要求を使用していることを示します。私は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