ارسال داده ها از یک Controller به Controller دیگر در ASP.Net MVC
با سلام این مقاله با یک مثال نحوه انتقال (ارسال) داده ها از یک Controller به Controller دیگر را با استفاده از شی TempData در ASP.Net MVC Razor نشان می دهد.
TempData چیست؟
1. TempData از کلاس TempDataDictionary مشتق شده است و اساسا یک شیء دیکشنری است یعنی کلید ها String هستند در حالی که مقادیر اشیاء هستند.
2. داده ها به عنوان Object در TempData ذخیره می شوند.
3. در حال بازیابی، داده هایی که نیاز به نوع دارند، به نوع اصلی خود کشیده می شوند، زیرا داده ها به عنوان اشیا ذخیره می شوند و در حین بازیابی نیازی به بررسی NULL نیستند.
4. TempData را می توان برای انتقال مقدار از Controller به View و همچنین از Controller به Controller استفاده می شود.
5. TempData برای درخواست های فعلی و بعدی در دسترس است. این در تغییر مسیر نابود نخواهد شد.
مثال TempData
در مثال زیر، مقدار رشته ای در شی TempData در Controller تنظیم شده و به Controller دیگری هدایت می شود و در نهایت View می شود.
Controller اول
public class FirstController : Controller
{
// GET: First
public ActionResult Index()
{
TempData["Message"] = "Hello MVC!";
return new RedirectResult(@"~\Second\");
}
}
Controller دوم
public class SecondController : Controller
{
// GET: Second
public ActionResult Index()
{
return View();
}
}
View Controller دوم
<html>
<head>
<meta name="viewport" content="width=device-width"/>
<title>Index</title>
</head>
<body>
<div>
@TempData["Message"];
</div>
</body>
</html>
عکس روی صفحه