MVC ViewBag, кажется, автоматически заполняет TextBox в моем представлении - PullRequest
0 голосов
/ 23 ноября 2011

В моем контроллере у меня есть следующее:

    ViewBag.VendorName = vendorname;

На мой взгляд, у меня есть следующее:

    @Html.TextBox("VendorName")

Похоже, что TextBox VendorName заполняется содержимым ViewBag.VendorName.

Это то, что я хочу, но не знал, что из ViewBag вы можете напрямую заполнить TextBox.

Ожидается ли это и почему это происходит?

1 Ответ

2 голосов
/ 23 ноября 2011

По словам Стива Сандерсона в Pro MVC:

Вспомогательные методы HTML заполняют свои значения из следующих мест (в следующем порядке):

  1. ViewData.ModelState [ "Имя_вендора"]. Value.RawValue
  2. Для помощников на основе строк: параметр значения, передаваемый вспомогательному методу, или, если вы его не указали, тогда ViewData.Eval ["VendorName"] (и ViewBag.VendorName, как вы видите здесь)
  3. Для строго типизированных помощников соответствующее значение свойства вашего объекта Model
...