ورود

View Full Version : تغییر مقدار TempData همه ی صفحات به آخرین مقدرا در صورت باز کردن چندین صفحه



resident
جمعه 19 تیر 1394, 17:56 عصر
سلام.
من برای ارسال اطلاعات بین اکشن های یک کنترلر از TempData استفاده کردم.

برای اولین بار صفحه که باز میشه مثلا مقدار 1 به Tempdata میدیم:
TempData["xxx"]=1;


صفحه قبلی رو نمی بندم و یه بار دیگه اون صفحه رو با مقادیر متفاوت باز میکنم. اینبار مقدار TempData رو 2میدیم.
TempData["xxx"]=2;

مشکلی که پیش میاد اینه که تو این حالت مقدار TempData در صفحه اول هم 2 شده.
چطور می تونم این مشکل رو حل کنم که وقتی چند صفحه رو همزمان باز می کنم، مقدار TempData همه ی صفحات یکسان نشه؟؟

resident
سه شنبه 23 تیر 1394, 07:20 صبح
دوستان کسی نمی تونه کمک کنه؟؟

hakim22
سه شنبه 23 تیر 1394, 08:42 صبح
چیزی که باید بدونید این است که TempData یکبار مصرف است. یعنی بعد از اولین بازخوانی از بین میرود. شما میتوانید از Session یا Application یا Cookie برای ذخیره ی اطلاعات استفاده کنید.
TempData یک حافظه ی موقت است که وقتی میخواهید اطلاعات را از یک اکشن به اکشن بعدی که به آن Redirect میکنید انتقال دهید مورد استفاده قرار میگیرد.

ali_joooooojoooooo
دوشنبه 05 مرداد 1394, 03:51 صبح
میشه یه کم بیشتر راجع به روشهایی که گفتید و چگونگی یادگیریشون توضیح بدید؟


چیزی که باید بدونید این است که TempData یکبار مصرف است. یعنی بعد از اولین بازخوانی از بین میرود. شما میتوانید از Session یا Application یا Cookie برای ذخیره ی اطلاعات استفاده کنید.
TempData یک حافظه ی موقت است که وقتی میخواهید اطلاعات را از یک اکشن به اکشن بعدی که به آن Redirect میکنید انتقال دهید مورد استفاده قرار میگیرد.

hakim22
دوشنبه 05 مرداد 1394, 10:24 صبح
در این مقاله میتوانید به طور کلی با روشهای مختلف و تفاوت آنها با هم آشنا شوید :

http://www.dotnet-tricks.com/Tutorial/mvc/9KHW190712-ViewData-vs-ViewBag-vs-TempData-vs-Session.html