تصویر ثابت

پایگاه رسمی مهندس محسن اشکبوس

کارشناس ارشد طراحی سامانه های نرم افزاری تحت وب و شیرپوینت

پایگاه رسمی مهندس محسن اشکبوس

کارشناس ارشد طراحی سامانه های نرم افزاری تحت وب و شیرپوینت

پایگاه رسمی مهندس محسن اشکبوس

کارشناس ارشد طراحی سامانه های نرم افزاری تحت وب و شیرپوینت و دارای تیم تخصصی در حوزه توسعه و پشتیبانی نرم افزار در حوزه های سخت افزاری ، وب و ویندوز ، موبایل

آخرین مطالب
  • ۹۶/۱۱/۰۳
    راه اندازی وب سایت ASHKBOOS.NET
  • ۹۶/۰۸/۰۶
    معرفی نرم افزار مسیریابی ایرانی دال
  • ۹۶/۰۷/۰۶
    مفاهیم ViewData ، ViewBag ، TempData در MVC
  • ۹۶/۰۶/۱۴
    حل مشکل : Assembly generation failed - Referenced assembly does not have a strong name
  • ۹۶/۰۶/۱۴
    جوان‌ترین برنامه نویس مایکروسافت آسیایی است
  • ۹۶/۰۶/۱۲
    پیکربندی سرویس Infopath در شیرپوینت 2013
  • ۹۶/۰۶/۱۲
    راه اندازی کانال مهندس محسن اشکبوس
  • ۹۶/۰۵/۲۹
    معرفی jquery-confirm
آخرین نظرات

مفاهیم ViewData ، ViewBag ، TempData در MVC

اشکبوس محسن | پنجشنبه, ۶ مهر ۱۳۹۶، ۱۰:۵۱ ق.ظ

ViewData  و ViewBag برای هدفی یکسان استفاده می شوند و آن انتقال داده از کنترلر به ویو می باشد.


ViewData

یک دیکشنری از اشیاء است که توسط یک شناسه از جنس String قابل دسترس می باشد، در واقع یکی از ویژگی های کنترلر برای نمایش نمونه کلاس ViewDataDictionary می باشد.

نمونه مثال : 

  1. //Controller Code  
  2. public ActionResult Index()  
  3. {  
  4.       List<string> Student = new List<string>();  
  5.       Student.Add("Jignesh");  
  6.       Student.Add("Tejas");  
  7.       Student.Add("Rakesh");  
  8.    
  9.       ViewData["Student"] = Student;  
  10.       return View();  
  11. }  
  12. //page code  
  13. <ul>  
  14.     <% foreach (var student in ViewData["Student"] as List<string>)  
  15.         { %>  
  16.     <li><%: student%></li>  
  17.     <% } %>  
  18. </ul>  

ViewBag

خیلی به ViewData شباهت دارد ، در واقع یک ویژگی پویا در .NET محسوب می شود که مقادیر آن به صورت پویا می تواند خوانده و نوشته شود و میتوان بدون محدودیت فیلدهایی به آن اضافه کرد بدون اینکه لازم به strongly typed تبدیل شود.

نمونه مثال Viewbag

  1. //Controller Code  
  2. public ActionResult Index()  
  3. {  
  4.       List<string> Student = new List<string>();  
  5.       Student.Add("Jignesh");  
  6.       Student.Add("Tejas");  
  7.       Student.Add("Rakesh");  
  8.    
  9.       ViewBag.Student = Student;  
  10.       return View();  
  11. }   
  12. //page code  
  13. <ul>  
  14.     <% foreach (var student in ViewBag.Student)  
  15.         { %>  
  16.     <li><%: student%></li>  
  17.     <% } %>  
  18. </ul> 

TempData

یک دیکشنری می باشد که از کلاس TempDataDictionary مشتق می شود.TempData داده را مانند یک جلسه(Session) جاری و برای زمانی کوتاه ذخیره می کتد ، TempData داده را به اندازه زمان  HTTP Request نگهداری می کند ، و این به معنی این است که عمر نگهداری داده بین دو Request می باشد.TempData به ما در انتقال داده های بین کنترل ها و اَکشن ها میتواند کمک کند ، TempData از متغیرهای جلسه استفاده می کند.باید به این نکته نیز توجه داشت که  TempData تنها در بین درخواست جاری و بعدی میتوان از آن استفاده کرد.با استفاده از متد ()TempData.Keep می توانیم مقدار شی Tempdata را پس از تکمیل درخواست نیز داشته باشیم.

نمونه مثال TempData
  1. //Controller Code  
  2. public ActionResult Index()  
  3. {  
  4.     List<string> Student = new List<string>();  
  5.     Student.Add("Jignesh");  
  6.     Student.Add("Tejas");  
  7.     Student.Add("Rakesh");  
  8.    
  9.     TempData["Student"] = Student;  
  10.     return View();  
  11. }  
  12. //page code  
  13. <ul>  
  14.     <% foreach (var student in TempData["Student"] as List<string>)  
  15.         { %>  
  16.     <li><%: student%></li>  
  17.     <% } %>  
  18. </ul> 


نشر این مقاله بدون ارجاع به منبع ممنوع می باشد.


نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی