Это действительно зависит от того, как вы настроили свои действия контроллера и ваши взгляды, потому что ASP.NET MVC выглядит в нескольких местах для значений.
Ваше предположение, что он использует FormCollection, является неправильным, так как FormCollection - это то, что ваш контроллер Action принимает как параметр и полностью отделен от вашего представления, где значения фактически отображаются.
В версии 1.0 по умолчанию Изменить шаблон для представлений использует 2-й параметр на большинстве HtmlHelpers, как:
<%=Html.Textbox("Title", Model.ID)%>
Это будет иметь старое значение извлекается из связанного объекта модели. Поэтому, если вы явно не выполняете проверку и возвращаете объект View (object), значения будут извлекаться из этого объекта. Тем не менее, если вы явно не суметь проверки, как:
if (ModelState.IsValid == false)
{
return View();
}
Затем код HtmlHelper, вероятно, приведет к ошибке, потому что ни одна модель не была связана.
Если вы полностью уйти от 2-й параметр, как:
<%=Html.Textbox("Title")%>
значение будет извлечено из почтовых (Request.Form) значений.
Привет, parminder. Как вы рождены в indi a punjab – 2009-10-31 14:21:11
У меня ТОЧНО эта же проблема в MVC 4. После исправления недопустимых значений полей и повторной отправки формы FormCollection показывает OLD-значения (от первого submit) вместо текущих значений из второго submit. –