Как заставить Ajax.ActionLink отправлять Http Post запрос? - PullRequest
1 голос
/ 16 сентября 2011

Если я запускаю следующий код, я получаю сообщение об ошибке " Метод открытого действия 'PostAction' не найден на контроллере ... ".Fiddler показывает, что используется запрос GET вместо POST.Я пытался заменить Html.BeginForm на Ajax.BeginForm, это не помогло.Так что я делаю не так?Спасибо.

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

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

ОБНОВЛЕНИЕ, дополнительная информация: Вот как 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 Ответ

1 голос
/ 16 сентября 2011

О, я просто забыл добавить ссылки на MicrosoftAjax.js и MicrosoftMvcAjax.js.Как я их добавил, все отлично работает.Извините за глупый пост

...