آشنایی با ViewBag و ViewData در ASP.NET CORE

تهران آی تی / برنامــه نویــسـی / آشنایی با ViewBag و ViewData در ASP.NET CORE

آشنایی با ViewBag و ViewData در ASP.NET CORE

ViewBag و ViewData برای انتقال داده ها از کنترلر – Controller به ویو – View مورد استفاده قرار میگیرند. در اصل ViewData یک دیکشنری از ابجکت ها – dictionary of objects میباشد. و بر اساس Key – Value کار میکند. ViewData یکی از property های controller است، که نمونه ای از کلاس ViewDataDictionary را نمایش میدهد. ViewBag بسیار شبیه ViewData است، در اصل یک Dynamic Property میباشد. ViewBag قادر به Set و Get کردن مقادیر به صورت داینامیک میباشد.

آشنایی با ViewBag و ViewData در ASP.NET CORE

آشنایی با ViewBag و ViewData در ASP.NET CORE

ViewBag چیست؟

ViewBag در ASP.NET یک مکانیزم برای انتقال داده‌ها به صورت موقت است، که در مدل گنجانده نشده‌اند. و برای انتقال داده‌ها از کنترلر به ویو به طور داخلی مورد استفاده قرار میگیرند. ViewBag یک property از نوع داینامیک در کلاس ControllerBase است. که کلاس پایه‌ی Controller می‌باشد.

ویو بگ این امکان را می‌دهد که مقادیر مختلفی را بدون نیاز به تعریف قبلی، به ViewBag اضافه کنیم و در ویو به آن‌ها دسترسی پیدا کنیم. اما، باید توجه داشت که ViewBag فقط برای انتقال داده از کنترلر به ویو است و نه برعکس، و مقادیر آن در صورت انجام ریدایرکت (redirection)، null خواهند شد.

ViewBag یک پراپرتی Property پویا یا Dynamik از کلاس Controller هست ، پس در هر کلاسی که از کلاس Controller ارث بری می کند می توان از این پراپرتی پویا استفاده کرد.

نحوه تعریف ViewBag در Action

public IActionResult Index()
{
ViewBag.Name = "TehranIT.Net";
ViewBag.Time= DateTime.Now;
return View();
}

نحوه نمایش ViewBag در View

<span>Name : </span> @ViewBag.Name
<br />
<span>Time : </span> @ViewBag.Time

ViewData چیست؟

ViewData یک مکانیزم در ASP.NET میباشد، که برای انتقال داده‌ها از کنترلر به ویو استفاده می‌شود. این مکانیزم برای ارسال داده‌ها از کنترلر به ویو در الگوی طراحی MVC استفاده می‌شود. معمولاً برای ارسال داده‌ها از کنترلر به ویو از ViewData استفاده می‌شود. ViewData یک متغیر dynamic است که از آن برای ذخیره و ارسال داده به ویو استفاده می‌شود. در کنترلر، می‌توانید داده‌های مورد نیاز را به ViewData اضافه کنید، سپس این داده‌ها در ویو قابل دسترسی خواهند بود.

ViewData یک متغیر پویا یا Dynamik از کلاس Controller هست ، پس در هر کلاسی که از کلاس Controller ارث بری می کند می توان از این متغیر پویا استفاده کرد.

نحوه تعریف ViewData در Action

ViewData["Name"] = "TehranIt.Net";

نحوه نمایش ViewData در View

@ViewData["Name"]

تفاوت ViewBag با ViewData

ViewBag و ViewData هر دو برای انتقال داده‌ها از کنترلر به ویو مورد استفاده قرار میکیرند، اما تفاوت‌هایی نیز با هم دارند:

ViewData یک متغیر dynamic است که از آن برای ارسال داده‌ها از کنترلر به ویو استفاده می‌شود. ViewData به صورت یک دیکشنری  از object ها میباشد برای دسترسی به داده‌ها در ویو، باید آن‌ها را با استفاده از کلید مربوطه خواند.

ViewBag یک پراپرتی داینامیک است که از آن برای ارسال داده‌ها از کنترلر به ویو استفاده می‌شود. در واقع، ViewBag یک dynamic property bag است که به عنوان یک Wrapper برای ViewData عمل می‌کند و مقداردهی و دسترسی به داده‌ها را راحت‌تر می‌کند. با استفاده از ViewBag، نیازی به استفاده از کلیدها برای دسترسی به داده‌ها نیست و می‌توان به صورت مستقیم به آن‌ها دسترسی پیدا کرد.

بنابراین، تفاوت اصلی بین ViewData و ViewBag این است که ViewData یک دیکشنری است که باید با استفاده از کلیدها به داده‌ها دسترسی یابید، در حالی که ViewBag یک dynamic property bag است که به صورت مستقیم دسترسی به داده‌ها را فراهم می‌کند.

دانلود سورس کد پروژه از گیت هاب دانلود
جستجو کنید

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد