Ответ 1
Свойство ViewBag
вводится как dynamic
, что означает, что IntelliSense не существует.
ViewBag
- это псевдоним/альтернативный синтаксис для доступа к словарю ViewData
. Две следующие строки кода эквивалентны:
ViewBag.Message = "My message";
ViewData["Message"] = "My message";
ViewBag
предлагает синтаксис немного синтаксиса, чем ViewData
. Также обратите внимание, что доступ к ViewData
с использованием строковых ключей также не обеспечивает IntelliSense, поэтому вы действительно не теряете никаких функций.
Последнее замечание состоит в том, что ViewBag
и ViewData
используют одно и то же фоновое хранилище, поэтому установка свойства с использованием одного метода делает его доступным с использованием другого метода:
ViewBag.Message = "My message";
string message = ViewData["Message"];
// message is now "My message"