Использование разных имен требует, чтобы вы написали больше кода.
Если ваши действия GET и POST имеют одно и то же имя, вы можете писать представления с помощью кода:
<% Html.BeginForm() %>
... вместо ...
<% Html.BeginForm("PostActionName") %>
Аналогично, ваше действие может выглядеть так:
{
if (!ModelState.IsValid)
{
return View(Model);
}
// ...
... вместо:
{
if (!ModelState.IsValid)
{
return View("GetActionName", Model);
}
// ...
Как видите, нет особого преимущества в присвоении действиям одного и того же имени; это просто вопрос удобства. Предположение, что действия GET и POST будут иметь одно и то же имя, всплывает во многих разных местах в рамках. Вы всегда можете переопределить это, но вот что это такое: Переопределение предположения.