تفاوت دستور Redirect و RedirectToAction در Core چیست ؟
لطفا بفرمایید تفاوت دستور Redirect و RedirectToAction در Core چیست ؟ الان چه فرقی بین دو دستور زیر هست ؟
return Redirect("/Contrller/Action");
//
return RedirectToAction("/Controller/Action");
تفاوت دستور Redirect و RedirectToAction
برای اینکه تفاوت بین دستورات Redirect و RedirectToAction را بهتر متوجه بشید از هر کدوم مثال هایی رو میارم براتون.
استفاده از دستور RedirectToAction با پارامتر
به صورت عادی توسط دستور RedirectToAction شما می تونید فقط درون یک کنترلر تغییر مسیر بدید. به عنوان مثال به کدهای زیر توجه کنید.
public class AccountController : Controller
{
[HttpGet]
public IActionResult Login()
{
return RedirectToAction("/Account/Panel");
//Or
//return RedirectToAction("Panel","Account");
}
[HttpGet]
public IActionResult Panel()
{
return View();
}
}
در مثال بالا دو Action به نام های Login و Panel داریم که هر دو اکشن در کنترلر Account قرار دارد. خب برای اینکه کاربر را از اکشن Login به اکشن Panel هدایت کنیم می تونیم از دستور RedirectToAction استفاده کنیم.
استفاده از دستور RedirectToAction بدون پارامتر
از دستور RedirectToAction به صورت ساده و بدون داشتن پارامتر هم می تونید استفاده کنید. به مثال زیر توجه کنید.
[HttpGet]
public IActionResult Product(int id)
{
var product = RetrieveProduct(id);
return View(product);
}
[HttpPost]
public IActionResult Product(int id, Product product)
{
UpdateProduct(product);
return RedirectToAction();
}
در مثال بالا بعد از اجرای اکشن Product به صورت HttpPost مجدد به اکشن Product به صورت HttpGet بر می گردد.
استفاده از دستور RedirectToAction و هدایت کاربر به Area جدید
شما با استفاده از دستور RedirectToAction میتونید کاربر رو به یک کنترلر جداگانه در یک Area دیگه هم هدایت کنید. برای این منظور به مثال زیر توجه کنید.
public class AccountController : Controller
{
[HttpGet]
public IActionResult Login()
{
return RedirectToAction("Index","Home", new { Area = "myArea"});
}
}
در دستور بالا کاربر به کنترلر Home و اکشن Index که در Area با نام myArea وجود دارد هدایت می شود. در واقع بعد از اجرای دستور آدرس Url به صورت زیر خواهد بود.
https://myDomain.com/myArea/Home/Index
همچنین شما توسط دستور RedirectToAction میتونید به اکشن یا کنترلر دیگه پارامتر هم ارسال کنید. برای این منظور لینک زیر رو مطالعه کنید.
ارسال پارامتر توسط دستور RedirectToAction در Core
آموزش استفاده از دستور Redirect
خب با نحوه کار با دستور RedirectToAction آشنا شدید. از دستور Redirect برای هدایت کاربر به یک مسیر کامل استفاده میشه. به عنوان مثال :
return Redirect('https://porsnet.ir/ProgrammingCourse/Index');
//Or
return Redirect("/AdminPanel/Admin/Index");
خب کاربر در این حالت به مسیر مشخص شده هدایت میشه. همچنین دستور Redirect دارای overLoad های مختلف نیست. یعنی شما فقط به یک صورت می تونید از این دستور استفاده کنید که در بالا مشاهده می کنید.
ارسال پارامتر توسط دستور Redirect
خب اگر بخواید با استفاده از دستور Redirect پارامتری رو به یک مسیر ارسال کنید می تونید از روش زیر استفاده کنید.
return Redirect("Home/Index?id=2&name='ali'");
در مثال بالا دو پارامتر به نام Id به مقدار 2 و name با مقدار ali به مسیر Home و Index ارسال شده است.
بنابراین میشه گفت تفاوتهای بین دستور Redirect و RedirectToAction میشه :
- تفاوت در نحوه ارسال پارامتر
- دستور Redirect مستقیما باید Url نوشته شود ولی در RedirectToAction به صورت پارامتر نوشته می شود.
- در صورتی که دستور RedirectToAction به صورت بدون پارامتر به کار بره به اکشنی هم نام با همون اکشنی که توش به کار رفته هدایت میشه.
- آموزش استفاده از 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