Это действительно зависит от того, как вы настроили свои действия контроллера и ваши представления, потому что ASP.NET MVC ищет значения в нескольких местах.
Ваше предположение, что он использует FormCollection, является своего рода неправильным, посколькуFormCollection - это то, что Action вашего контроллера принимает в качестве параметра, и оно полностью отделено от вашего View, где на самом деле отображаются значения.
В 1.0 по умолчанию в шаблоне Edit для представлений используется 2-йПараметр в большинстве HtmlHelpers, например:
<%=Html.Textbox("Title", Model.ID)%>
Это будет иметь старое значение, полученное из привязанного объекта модели.Так что, если вы явно не пройдете проверку и вернете View (объект), значения будут извлечены из этого объекта.Тем не менее, если вы явно проваливаете проверку, например:
if (ModelState.IsValid == false)
{
return View();
}
, тогда код HtmlHelper, скорее всего, приведет к ошибке, поскольку ни одна модель не была привязана.
Если вы полностью пропустите второй параметрНапример:
<%=Html.Textbox("Title")%>
Значение будет извлечено из значений сообщения (Request.Form).