Представьте себе следующее:
[HttpGet]
public ActionResult Edit(int id) { ... }
[HttpPost]
public ActionResult Edit(MyEditViewModel myEditViewModel) { ... }
Это было бы невозможно, если бы ActionMethodSelectorAttributes HttpGet
и HttpPost
там, где они используются.Это действительно упрощает создание представления редактирования.Все ссылки действий просто указывают прямо на контроллер.Если модель представления подтверждает ложь, вы просто возвращаетесь обратно к представлению редактирования снова.
Я буду смелым и скажу, что это лучшая практика, когда дело касается CRUDish вещей в ASP.NET MVC.
РЕДАКТИРОВАТЬ:
@ TheLightспросил, что нужно было для того, чтобы завершить пост.Это просто форма с методом POST.
Используя Razor, это выглядело бы примерно так:
@using (Html.BeginForm())
{
<input type="text" placeholder="Enter email" name="email" />
<input type="submit" value="Sign Up" />
}
Это отображает следующий HTML:
<form action="/MyController/Edit" method="post">
<input type="text" name="email" placeholder="Enter email">
<input type="submit" value="Sign Up">
</form>
КогдаФорма отправлена, она выполнит запрос Http Post к контроллеру.Действие с атрибутом HttpPost
будет обрабатывать запрос.