2012-08-30 83 views

回答

70

RedirectToAction让你构建一个重定向URL以在您的应用程序的特定动作/控制器,也就是说,它会使用的路由表来生成正确的URL。

Redirect要求您提供完整的URL以重定向到。

如果您对控制器Home动作Index与参数Id

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

  2. 您可以使用Redirect但必须自己构造URL,让你通过Redirect("/Home/Index/5")或不管您的路由表的作品。

  3. 你不能重定向到使用RedirectToActiongoogle.com(外部URL),您必须使用Redirect

RedirectToAction意味着做302重定向你的应用程序中,并为您提供了一个更简单的方式与您的路由表的工作。

Redirect是为了做302重定向到其他任何东西,特别是外部URL,但是你仍然可以在你的应用程序中重定向,你只需要自己构造URL。

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

+1

这意味着重定向还可以带你到完全不同的URL与RedirectToAction仅限于当前的应用程序。如果我错了,请纠正我。 –

+1

@gmailuser - 你是对的。 – Omar

+0

谢谢你,我的朋友。 –

相关问题