Зачем существуют и ViewBag и ViewData? Ведь, по сути, они выполняют абсолютно одну и ту же функцию - хранить данные для представления.
Есть ли разница в быстроте загрузки страницы при использовании того или другого?
Ответ
Копипаст из интернета:
ViewData
ViewData — это словарный объект, производный от TempViewDataDictionary;
Используется для передачи данных из контроллера в соответствующее представление;
Жизненный цикл ограничен текущим запросом;
Если происходит redirect, значение ViewData превращается в null;
Также необходимо осуществлять приведение типов и проверять на null, чтобы избежать ошибок;
ViewBag
ViewBag — динамическое свойство, представляет собой обертку вокруг ViewData , и также используется для передачи данных из контроллера в соответствующее представление;
Жизненный цикл также ограничивается текущий запросом;
При редиректе значение также оборачивается в null;
Нет необходимости в приведении типов для получения данных
Так же, ViewBag имеет преимущество в том, что можно использовать его свойства Strongly typed-методом, при этом корректность данных будет проверена еще на этапе компиляции/написания кода.
Комментариев нет:
Отправить комментарий