Страницы

Поиск по вопросам

четверг, 1 ноября 2018 г.

Отличие ViewBag от ViewData

Зачем существуют и ViewBag и ViewData? Ведь, по сути, они выполняют абсолютно одну и ту же функцию - хранить данные для представления.
Есть ли разница в быстроте загрузки страницы при использовании того или другого?


Ответ

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

Комментариев нет:

Отправить комментарий