Я бы сказал, что действие всегда должно обрабатывать HTTP-запрос.Если он возвращает представление или перенаправляет на другое действие, возможны оба варианта.
Примите во внимание следующее:
[HttpGet] // Handles only GET requests
public ActionResult Edit(int id)
{
// get entity from repository
// and create edit model
return View(editModel);
}
[HttpPost]
public ActionResult Edit(EntityEditModel editModel)
{
// if ModelState is valid, save entity
// and if success redirect to index
return RedirectToAction("Index");
}
Первое действие возвращает представление, второе - нет (только еслиModelState недопустим, затем он повторно отображает представление «Правка».И это абсолютно правильно (даже рекомендуется).Но оба действия обрабатывают HTTP-запрос.