آشنایی با TempData در ASP.NET CORE

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

آشنایی با TempData در ASP.NET CORE

در قسمت قبلی با ViewBag و ViewData آشنا شدیم، و توسط این ۲ مکانیزیم اطلاعات را از Controller به View خود ارسال کردیم. حال در این آموزش قصد آشنایی با TempData را داریم. TempData یک مفهوم در برنامه‌نویسی وب است که در برنامه‌های ASP.NET و ASP.NET Core استفاده می‌شود. TempData به عنوان یک مکان برای ذخیره کردن داده‌ها بین دو درخواست مختلف در یک متغیر موقت درون حافظه (یا session) در سرور عمل می‌کند.

زمانی که داده‌ای را در TempData قرار میدهیم، فقط در درخواست بعدی در دسترس است. و پس از آن از TempData حذف می‌شود. این برای انتقال داده‌هایی از یک اکشن به اکشن دیگر یا از یک صفحه به صفحه دیگر در برنامه‌های وب بسیار مفید است. از TempData معمولا برای اطلاعات موقت مانند پیام‌های خطا یا تایید، انتقال اطلاعات بین صفحات پس از انجام یک عملیات، یا انتقال داده‌های مورد نیاز برای نمایش در صفحات بعدی استفاده می‌شود.

کاربرد TempData

قابلیت TempData، در زمانی که می خواهید اطلاعات غیر حساس (نه چیزی مثل رمز عبور) را از یک متد اجرایی action method به متد اجرایی دیگر در همان کنترلر و یا کنترلر دیگر، انتقال دهید، کاربرد دارد. TempData از نوع dictionary type است، و از کلاس TempDataDictionary مشتق میشود.

تفاوت TempData با ViewBag و ViewData

  • در تمپ دیتا داده‌ها برای یک Request اضافی نگهداری میشوند، اما ViewBag و ViewData فقط در همان Request باقی میماند و بعد از آن حذف میشود.
  • تمپ دیتا در ASP.NET Core یک مکانیزم ذخیره‌سازی موقت است که برای انتقال داده‌ها بین اکشن های کنترلر و View ها استفاده می‌شود. برخلاف ViewBag و ViewData، تمپ دیتا داده‌ها را برای یک Request اضافی حفظ می‌کند، که این برای سناریوهایی که نیاز است داده‌ها در یک ریدایرکت باقی بماند، ایده‌آل است.
آشنایی با ViewBag و ViewData در ASP.NET CORE

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

انتقال اطلاعات از Controller به View با TempData

کدهای Controller

public IActionResult Index()
{
TempData["Name"] = "Mohammadreza";
return View();
}

کد های View

<body>
<h1>TempData Page</h1>
@TempData["Name"]
</body>

انتقال اطلاعات بین دو Action با TempData

کدهای Controller

public IActionResult Index()
{
TempData["Name"] = "Mohammadreza";
TempData.Keep();
return View();
}
public IActionResult Index2()
{
var Name = TempData["Name"];
ViewBag.MyName= Name;
return View();
}

توجه : با استفاده از TempData.Keep(); میتوانیم یک مرحله بیشتر اطلاعات ذخیره شده در TempData را نگهداری کنیم.

زمانی که از TempData استفاده میکنیم به محض اینکه، مقدار درون آن نمایش داده شود حذف میشود. به عبارتی فقط یک بار نمایش داده میشود. برای اینکه آن را یک بار بیشتر استفاده کنیم میتوانیم از TempData.Keep استفاده کنیم.

انتقال اطلاعات بین دو Controller با TempData

انتقال اطلاعات بین دو Controller دقیقا مثل انتقال اطلاعات بین دو Action میباشد و کافی است در کنترلر مورد نظر توسط TempData[“Key”] اطلاعات را دریافت کنیم.

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

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

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

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

مطالب مرتبط

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

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

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

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

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

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

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

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