View Full Version : سوال: از بین رفتن مقدار Tempdata
kavayo
چهارشنبه 03 اردیبهشت 1393, 12:51 عصر
من در یک اکشن TempData رو مقدار دهی میکنم و در قسمت ویو از ان استفاده میکنم اما با زدن دکمه بازگشت مرورگر با با لا امدن ویوی مورد نظر مقدار این TempData از بین میرود چرا؟
itsurge
چهارشنبه 03 اردیبهشت 1393, 13:01 عصر
چون خصوصیتش همینه توی اولین فراخونی از بین میره شما می تونید به جاش از ViewBag استفاده کنید
kavayo
چهارشنبه 03 اردیبهشت 1393, 13:38 عصر
در حقیقت مقدار دهی در اکشن دیگر صورت میگیرد ولی با استفاده از
ViewBag همون اولین بار مقدار را نمایش نمیدهد.
itsurge
چهارشنبه 03 اردیبهشت 1393, 14:00 عصر
خوب شما یک متد استاتیک تعریف کن سپس مقدار دهیش کن و ازش استفاده کن
mehdijamshidifar
چهارشنبه 03 اردیبهشت 1393, 15:45 عصر
منطورتون اینه که در اکشن یک View، مقداردهی می کنید و در اکشن View دیگر استفاده می کنید ازش و در همان View دوم با زدن دکمه بازگشت مرورگر دیگر به این متغیر دسترسی ندارید؟
اگر منظورتون اینه، طبیعیه.
چون TempData در پشت صحنه از سشن های ASP.NET برای ذخیره سازی اطلاعات استفاده می کند، بنابراین اطلاعات آن در سایر کنترلرها و View ها نیز در دسترس خواهد بود. ولی ViewBag چنین نیست، پس همون بار اول هم مقدار را نمایش نمی دهد.
اما TempDate یک سری تفاوت اساسی با سشن معمولی داره :
1- بلافاصله پس از خوانده شدن حذف می شود.
2- پس از پایان درخواست از بین خواهد رفت.
بخاطر همین تفاوتهاست که وقتی دکمه بازگشت مرورگر رو می زنید، دیگر TempData مقدار خودش را ندارد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.