ASP.NET MVC中的Redirect和RedirectToAction有什么区别?

RedirectRedirectToAction除了返回types之外有什么区别? 我们什么时候使用每个? 任何现实生活场景的解释都会对我有很大的帮助。

我正在看redirect和RedirectToAction之间的混淆 ,但对我来说,它看起来像答复是更具体的处理id参数和返回正确的看法。

RedirectToAction可以让你构build一个redirecturl到应用程序中的特定动作/控制器,也就是说,它将使用路由表生成正确的URL。

Redirect要求您提供redirect到的完整url。

如果您在控制器Home上有一个操作Index ,并带有参数Id

  1. 您可以使用RedirectToAction("Index", "Home", new { id = 5 }) ,它将根据您的路由表为您生成URL。

  2. 你可以使用Redirect但必须自己构造URL,所以你传递Redirect("/Home/Index/5")或者你的路由表工作。

  3. 您无法使用RedirectToActionredirect到google.com (外部url),因此您必须使用Redirect

RedirectToAction是为了在您的应用程序中执行302redirect,并为您提供一种更简单的方法来处理您的路由表。

Redirect意味着将302redirect到其他所有内容,特别是外部URL,但是您仍然可以在应用程序中redirect,您只需自己构造URL即可。

最佳实践:使用RedirectToAction处理与您的应用程序操作/控制器有关的任何事情。 如果您使用Redirect并提供URL,则在路由表更改时需要手动修改这些URL。