Мне объявили метод POST в моем контроллере:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UpdateComments(int id, string comments)
{
// ...
}
и ActionLink, по моему мнению:
<%= Ajax.ActionLink("update", "UpdateComments",
new { id = Model.Id, comments = "test" },
new AjaxOptions {
HttpMethod="POST",
OnFailure="alert('fail');",
OnSuccess = "alert('success');"
})%>
Я получаю "не найденную" ошибку, когда она пытается направить этот запрос.
Если я удаляю ограничение POST из метода UpdateComments в контроллере, это хорошо работает.
Что я пропускаю?
Похоже, мне не понравилось то, как я объявлял обратные вызовы OnFailure
и OnSuccess
. Я предполагаю, что он не смог проанализировать мой объект AjaxOptions
, поэтому игнорировал настройку HttpMethod = "POST"
.
Я заставил его работать, изменив его на:
OnFailure="function() { alert('fail'); }",
OnSuccess="function() { alert('success'); }"