asp.net-mvc - ASP.NET MVC 中的 Redirect 和 RedirectToAction 有什么区别?

标签 asp.net-mvc

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

我正在查看Confusion between Redirect and RedirectToAction ,但是,对我来说,答案似乎更具体地涉及处理 id 参数并返回正确的 View 。

最佳答案

RedirectToAction 允许您构建指向应用程序中特定操作/ Controller 的重定向 URL,也就是说,它将使用路由表生成正确的 URL。

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

如果您在 Controller Home 上有一个带有参数 Id 的操作 Index:

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

  2. 您可以使用 Redirect 但必须自己构造 URL,因此您可以传递 Redirect("/Home/Index/5") 或路由表有效。

  3. 您无法使用 RedirectToAction 重定向到 google.com(外部网址),必须使用 Redirect

RedirectToAction 用于在应用程序中执行 302 重定向,并为您提供更轻松的方式来使用路由表。

Redirect 用于执行 302 重定向到其他所有内容,特别是外部 URL,但您仍然可以在应用程序内重定向,只需自己构建 URL。

最佳实践:使用RedirectToAction来处理与应用程序操作/ Controller 有关的任何事情。如果您使用重定向并提供 URL,则需要在路由表更改时显式修改这些 URL。

关于asp.net-mvc - ASP.NET MVC 中的 Redirect 和 RedirectToAction 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12198909/

相关文章:

javascript - 所见即所得 免费用于商业用途

jquery - ASP.NET MVC 中使用 jQuery 进行 Ajax 调用不传递参数

asp.net-mvc - ASP.NET MVC 4 ApiController 和普通 Controller 路由

c# - 身份用户的数据库定义 - dbo.AspNetUsers 和 dbo.Users

c# - 如何使用 moq 对在 .NET 中使用 asmx 服务的应用程序进行单元测试

.net - 无区域 Controller 的子文件夹

asp.net-mvc - ASP MVC 授权错误

javascript - Kendo MVC 条形图/柱形图 CategoryAxis Fit day

javascript - ASP.Net MVC3 : Place . js 文件靠近 View 而不是脚本文件夹

sql-server - 引入 FOREIGN KEY 约束可能会造成环路或多级联路径。指定删除时不执行任何操作