دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۵
  • شهریور

جلسه ۳۲ : ویژگی ViewBag در ASP.NET MVC

  • دسته‌بندی‌ها :
جلسه ۳۲ : ویژگی ViewBag در ASP.NET MVC
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش ASP.NET MVC ، را دنبال می کنند. ما در بخش قبلی یاد گرفتیم که شیء مدل برای ارسال داده ها در یک نمای رایج استفاده می شود. با این حال، ممکن است سناریویی وجود داشته باشد که در آن می خواهید مقدار کمی از اطلاعات موقت را به نمایه ارسال کنید. برای چنین اهدافی، چارچوب MVC شامل ویژگی ViewBag است. که ما در ادامه ی مباحث فوق، شما را با ویژگی ViewBag در ASP.NET MVC آشنا خواهیم کرد.

      ویژگی ViewBag در ASP.NET MVC

      ویژگی ViewBag در ASP.NET زمانی مفید خواهد بود که شما می خواهید اطلاعات موقت را از یک کنترلر به نمایه ارسال کنید.

      viewBag یک ویژگی نوع پویایی کلاس ControllerBase است که کلاس پایه ای از تمام کنترلرهاست.

      شکل زیر عملکرد کلی viewBag را نشان می دهد:

      ویژگی ViewBag در ASP.NET MVC

      در شکل فوق، ویژگی Name به ViewBag متصل می شود. و یک مقدار رشته ی “Bill” را به آن در کنترلر اختصاص می دهد.

      همچنین می توان مانند @ViewBag.Name در نمایه به آن دسترسی داشت(@ یک ساختار  Rozar برای دسترسی به متغیر سمت سرور است).

      شما می توانید هر تعداد خواص و مقادیر را به ViewBag اختصاص دهید. اگر چندین بار برای ViewBag یک نام ویژگی مشابه را اختصاص دهید، آنگاه تنها آخرین ارزش اختصاص داده شده به ویژگی در نظر گرفته خواهد شد.

      نکته : ViewBag فقط داده ها را از کنترلر به نمایه ارسال می کند.

      مثال زیر نشان می دهد که چگونه اطلاعات را از کنترلر برای نمایه با استفاده از ViewBag انتقال دهید:

      مثال : 

      در مثال فوق، ما می خواهیم تعداد کل دانش آموزان را در یک نمایش برای نسخه ی نمایشی نمایش دهیم.

      پس ما نیاز داریم که ویژگی TotalStudents را به ViewBag متصل کنیم و با استفاده از studentList.Count() تعداد دانش آموزان را محاسبه کنیم.

      حالا در نمای Index.cshtml شما می توانید به ویژگی ViewBag.TotalStudents دسترسی داشته باشید. و تمام اطلاعات دانش آموزان را نیز نمایش دهید:

      مثال : 

      خروجی کد فوق در html :

      نتیجه ی کد در html

      ViewBag در هنگام بازیابی مقادیر از آن نیازی به تایید ندارد.

      نکات زیر را به خاطر بسپارید:

      ۱- ViewBag داده ها را از کنترلر به نمایه منتقل می کند.

      ۲- ViewBag یک ویژگی داینامیک است که از ویژگی های جدید و پویا در C# 4.0 استفاده می کند.

      ۳- شما می توانید هر تعداد از ویژگی ها و مقادیر را به ViewBag اعمال کنید.

      ۴-مدت اعتبار ViewBag طول می کشد. اما در طول درخواست HTTP فعلی. اگر تغییر مسیر رخ دهد، مقادیر ViewBag صفر خواهند شد.

      ۵- ViewBag در واقع یک پوشش در اطراف ViewData است.

      کلام آخر

      ViewBag در ASP.NET MVC به شما این امکان را می دهد که داده های یک کنترلر را موقتا به نمایه منتقل کرده و از آن ها استفاده کنید. به عنوان مثال در کلاس student اگر بخواهید تعداد دانش آموزان را در نمای html نمایش دهید مناسب خواهد بود.

      QR:  جلسه ۳۲ : ویژگی ViewBag در ASP.NET MVC
      به اشتراک بگذارید