ASP.NET MVC中的Redirect和RedirectToAction有什么区别?
Redirect
和RedirectToAction
除了返回types之外有什么区别? 我们什么时候使用每个? 任何现实生活场景的解释都会对我有很大的帮助。
我正在看redirect和RedirectToAction之间的混淆 ,但对我来说,它看起来像答复是更具体的处理id
参数和返回正确的看法。
RedirectToAction
可以让你构build一个redirecturl到应用程序中的特定动作/控制器,也就是说,它将使用路由表生成正确的URL。
Redirect
要求您提供redirect到的完整url。
如果您在控制器Home
上有一个操作Index
,并带有参数Id
:
-
您可以使用
RedirectToAction("Index", "Home", new { id = 5 })
,它将根据您的路由表为您生成URL。 -
你可以使用
Redirect
但必须自己构造URL,所以你传递Redirect("/Home/Index/5")
或者你的路由表工作。 -
您无法使用
RedirectToAction
redirect到google.com
(外部url),因此您必须使用Redirect
。
RedirectToAction
是为了在您的应用程序中执行302redirect,并为您提供一种更简单的方法来处理您的路由表。
Redirect
意味着将302redirect到其他所有内容,特别是外部URL,但是您仍然可以在应用程序中redirect,您只需自己构造URL即可。
最佳实践:使用RedirectToAction
处理与您的应用程序操作/控制器有关的任何事情。 如果您使用Redirect
并提供URL,则在路由表更改时需要手动修改这些URL。