Предположим, мой контроллер выглядит следующим образом
public ActionResult DoSomething(int id)
{
Customer c = GetCustomerByID(id);
return View(c);
}
[HttpPost]
public ActionResult DoSomething(int id, FormCollection formData)
{
Customer c = GetCustomerByID(id);
//Do something here
return View(c);
}
Как лучше всего отправить идентификатор при отправке формы.Есть два варианта:
<form method="post" action="@Url.Action("DoSomething", "Customer", new { id = Model.ID })">
</form>
Или
<form method="post" action="@Url.Action("DoSomething", "Customer")">
<input type="hidden" value="@Model.ID" />
</form>
Значение id передается двумя различными способами, но Контроллеру на самом деле все равно, так как оно будет превращено вПараметр метода не зависит.Мне было интересно, какова «лучшая практика» для этого.
Примечание: я не использовал никаких помощников в этом примере специально.Я считаю, что они более ограничивающие, чем «полезные».