Властивість ViewData — це словник слабко типізованих об’єктів. Властивість ViewBag є оболонкою для ViewData, яка надає динамічні властивості для основної колекції ViewData.3 червня 2022 р
ViewData: об’єкт словника для передачі даних у вигляді пар ключ-значення. Він надрукований вільно, вимагає приведення в поданні та не має перевірки під час компіляції. ViewBag: Подібно до ViewData, він забезпечує динамічний доступ до властивостей. Він також надрукований вільно і не має перевірки під час компіляції.
Загалом ViewBag є спосіб передачі даних від контролера до представлення. Це об’єкт типу та динамічна властивість у базовому класі контролера. Порівняно з ViewData, він працює подібно, але відомо, що він трохи повільніший і був представлений у ASP.NET MVC 3.0 (ViewData був представлений у MVC 1.0).
Робота з ViewData на сторінках Razor. ViewData є контейнер для даних, які передаються від PageModel до сторінки вмісту. ViewData — це словник об’єктів із ключем на основі рядка. Ви додаєте елементи до ViewData таким чином: public class IndexModel : PageModel.
У Razor Pages можна використовувати властивість ViewData щоб передати дані з моделі сторінки на відповідну сторінку перегляду, а також поділитися ними з макетом і будь-якими частковими переглядами. ViewData — це словник, який може містити пари ключ-значення, де кожен ключ має бути рядком.
Якщо дані складні, вони потребують приведення типів. Крім того, щоб уникнути помилки для складних даних, нам потрібно перевірити повне нульове значення. ViewData швидше, ніж ViewBag.