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