ASP.NET Core 中实现重定向主要是通过使用 MVC 中的重定向方法或 Action Result 类型来实现。以下是实现重定向的步骤:
第一步:添加重定向的命名空间
要使用重定向,需要在开头添加以下命名空间:
using Microsoft.AspNetCore.Mvc;
第二步:选择一个重定向方法
在 ASP.NET Core MVC 中,有多个重定向方法可供选择:
1. RedirectToAction
RedirectToAction 方法允许我们从当前控制器操作重定向到另一个控制器的操作。如下所示,其中,第一个参数是要重定向到的操作名称,第二个参数是操作包含的控制器名称:
public IActionResult RedirectToAnotherAction()
{
return RedirectToAction("Index", "Home");
}
2. RedirectToRoute
RedirectToRoute 方法允许我们根据指定的路由名称将请求重定向到另一个操作。如下所示,其中,第一个参数是要重定向到的路由名称,第二个参数是路由中定义的变量:
public IActionResult RedirectToRouteExample()
{
return RedirectToRoute(new
{
controller = "Home",
action = "Index",
id = 1,
});
}
3. RedirectToPage
RedirectToPage 方法允许我们从当前页面操作重定向到另一个 Razor 页面,如下所示,其中,参数是重定向到的页面名称:
public IActionResult RedirectToAnotherPage()
{
return RedirectToPage("/Index");
}
示例说明
示例 1:使用 RedirectToAction 方法
以下示例演示了如何从当前控制器操作重定向到另一个控制器的操作:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult RedirectToAnotherAction()
{
return RedirectToAction("Privacy", "Home");
}
}
public class PrivacyController : Controller
{
public IActionResult Index()
{
return View();
}
}
当访问 RedirectToAnotherAction
操作时,将会把当前请求重定向到 Privacy
操作,并在相应的 Privacy
视图返回。
示例 2:使用 RedirectToRoute 方法
以下示例演示了如何重定向到具有路由变量的控制器操作:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult RedirectToAnotherAction()
{
return RedirectToRoute(new {
controller = "Home",
action = "About",
id = 1
});
}
}
public class AboutController : Controller
{
public IActionResult Index(int id)
{
return View();
}
}
当访问 RedirectToAnotherAction
操作时,将会把当前请求重定向到 About
操作,并将 id 变量的值设置为 1。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET Core中如何实现重定向详解 - Python技术站