Я заметил, что во всех примерах и учебниках по ASP.Net 5 (ядро), которые я видел из Microsoft, а шаблон веб-приложения по умолчанию в VS 2015 использует @ViewData["XXX"]
вместо @ViewBag.XXX
. Является ли это теперь рекомендуемым способом передачи данных с контроллера вместо ViewBag
? Я знаю, что ViewBag
является оберткой для ViewData
, но в старых учебниках (ASP.NET 4.5) они используют ViewBag
. Если теперь они поощряют разработчиков использовать ViewData
, почему изменение?
Является ли ViewData новым стандартом для ViewBag для ASP.Net 5 (ядро)?
Ответ 1
Оба варианта остаются в силе. Нет никаких конкретных указаний по проекту docs.asp.net github. Хотя есть это обсуждение по проблемам docs.asp.net.
Вот ссылка на комментарий от одной команды продукта, которая гласит:
"Так как ViewData (Dictionary) выглядят далеко за пределами ViewBag (динамические) вызовы, последний, вероятно, лучший выбор".
Итак, я бы сказал, что это чисто выбор стиля, основанный на том, что ViewData работает лучше.