C# Ajax ActionLink创建GET而不是POST

C# Ajax ActionLink创建GET而不是POST,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我正在尝试创建一个Ajax POST链接,该链接将Model.Id发送到控制器: @Ajax.ActionLink("Reply", "Reply", new { MessageId = m.Id }, new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "send", InsertionMode = InsertionMode.Replace,

我正在尝试创建一个Ajax POST链接,该链接将Model.Id发送到控制器:

@Ajax.ActionLink("Reply", "Reply", new { MessageId = m.Id },
        new AjaxOptions() {
            HttpMethod = "POST",
            UpdateTargetId = "send",
            InsertionMode = InsertionMode.Replace,
        })
        [HttpPost]
    public ActionResult Reply(int MessageId) {
        var MV = new MessageViewModel {
            ToUser = db.Users.Find(MessageId).Name,
        };

        if (Request.IsAjaxRequest()) {
            return PartialView("_SendMessagePartial", MV);
        } else {
            return View("Index", GetCurrentMessages());
        }
    }
这将在浏览器中生成以下HTML:

<a data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-update="#send" href="/Messages/Reply?MessageId=12">Reply</a>

但它仍在执行GET请求。我正在使用MVC4,jqueryv1.9.1和jQuery.js都是按正确的顺序加载的。我也没有收到任何Javascript错误。我不知道我做错了什么。如何使此POST请求生效?

“但它仍在执行get请求”。你这是什么意思?实际结果是什么?您不需要POST请求,删除[HttpPost]注释,您将在回复操作中看到正确的id