除了它们的返回类型之外Redirect
,还有什么区别?RedirectToAction
我们什么时候使用每个?任何现实生活场景的解释都会对我有很大帮助。
我在看Redirect 和 RedirectToAction 之间的混淆,但是,对我来说,答案似乎更具体地处理id
参数和返回正确的视图。
除了它们的返回类型之外Redirect
,还有什么区别?RedirectToAction
我们什么时候使用每个?任何现实生活场景的解释都会对我有很大帮助。
我在看Redirect 和 RedirectToAction 之间的混淆,但是,对我来说,答案似乎更具体地处理id
参数和返回正确的视图。
RedirectToAction
允许您在应用程序中构造一个指向特定操作/控制器的重定向 url,也就是说,它将使用路由表来生成正确的 URL。
Redirect
要求您提供要重定向到的完整 URL。
如果您对带有参数Index
的控制器执行操作:Home
Id
您可以使用RedirectToAction("Index", "Home", new { id = 5 })
它将根据您的路由表为您生成 URL。
您可以使用Redirect
但必须自己构建 URL,因此您可以通过,Redirect("/Home/Index/5")
或者您的路由表可以正常工作。
您不能使用 重定向到google.com
(外部 URL)RedirectToAction
,您必须使用Redirect
.
RedirectToAction
用于在您的应用程序中执行 302 重定向,并为您提供一种更轻松的方式来处理您的路由表。
Redirect
用于对其他所有内容进行 302 重定向,特别是外部 URL,但您仍然可以在应用程序中重定向,您只需要自己构建 URL。
最佳实践:用于RedirectToAction
处理您的应用程序操作/控制器的任何事情。如果您使用Redirect
并提供 URL,则需要在路由表更改时手动修改这些 URL。