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")或者你的路由表工作。 -
您无法使用
RedirectToActionredirect到google.com(外部url),因此您必须使用Redirect。
RedirectToAction是为了在您的应用程序中执行302redirect,并为您提供一种更简单的方法来处理您的路由表。
Redirect意味着将302redirect到其他所有内容,特别是外部URL,但是您仍然可以在应用程序中redirect,您只需自己构造URL即可。
最佳实践:使用RedirectToAction处理与您的应用程序操作/控制器有关的任何事情。 如果您使用Redirect并提供URL,则在路由表更改时需要手动修改这些URL。