استفاده از ViewBag قبل از دستور Redirect در Asp.net core
در بخشی از پروژه خودم که با Asp.net core هست قصد دارم موقع Redirect از دستور Viewbag استفاده کنم.
در حالت عادی به شکل زیر میشد از Viewbag استفاده کرد
ViewBag.msg = "value";
return View();
اما هدف من استفاده از ViewBag قبل از دستور Redirect در Asp.net core چون نمیتونم از دستور بالا استفاده کنم.
ViewBag.msg = "value";
return Redirect("CourseDetails");
از دستور بالا برای این کار استفاده می کنم اما در ویوی CourseDetails مقدار ViewBag برابر با null هست.
لطفا بفرمایید استفاده از ViewBag قبل از دستور Redirect در Asp.net core چجوری هست؟
کاربرد ViewBag
از ViewBag برای انتقال اطلاعات از کنترلر به View استفاده می شود و نکته اینجاست که ViewBag ها فقط در همان اکشن یا در همان Request جاری فعال هستند و در صورتی که اطلاعات درون ViewBag از یک اکشن به اکشن دیگری منتقل شود مقدار آن هم null می شود. در این زمینه توصیه می کنم این مقاله که آموزش ViewBag و Viewdata هست رو مطالعه بفرمایید.
در سوال شما با توجه به اینکه شما از دستور Redirect استفاده می کنید پس عملا در حال انتقال از یک اکشن متد به اکشن متد دیگه ای هستید. پس طبیعتا مقدار viewbag طبق اصول null می شود.
استفاده از TempDate
در این حالت شما باید از TempData استفاده کنید. برای این منظور به کد زیر دقت کنید
TempData["msg"] = "value";
return Redirect("CourseDetails");
در قطعه کد بالا مقدار در TempData با کلید msg نگهداری می شود. حالا برای دریافت این مقدار در اکشن متد دیگر میتونید به صورت زیر عمل کنید
ViewBag.msglogin = TempData["msg"];
return View(model);
به همین راحتی میتونید مقدار TempData رو در اکشن متد دیگه درون یک ViewBag نگهداری کنید و از مقدار ViewBag در ویو استفاده کنید. این لینک رو هم مطالعه بفرمایید
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2