何时使用 RedirectToAction 以及何处使用 RedirectToRouteResult?

2024-04-10

Question

在什么情况下,我可以使用RedirectToAction以及在哪里使用RedirectToRouteResult ?

我有两个如下所示的操作方法。

方法 - 1

public class ActionResultTypesController : Controller
{
    public ActionResult Content()
    {
        return new RedirectToRouteResult(new RouteValueDictionary(
               new { action = "Fileresult", controller = "ActionResultTypes" }));
    }
    public ActionResult Fileresult()
    {
        return View();
    }
}

方法 - 2

我也可以编写如下所示的相同代码。唯一不同的是,这次我使用了RedirectToAction代替RedirectToRouteResult

public class ActionResultTypesController : Controller
{
    public ActionResult Content()
    {
        return RedirectToAction("Fileresult", "ActionResultTypes");
    }
    public ActionResult Fileresult()
    {
        return View();
    }
}

两段代码都有共同的结果


当在控制器中使用时,两者之间没有太大区别,就像您在示例中一样。

他们最终都实现了相同的目标。然而,RedirectToRouteResult()主要用于action过滤器类型的场景看到这里。 https://stackoverflow.com/questions/5904976/how-do-i-redirect-user-to-another-controller-action-from-an-asp-mvc-3-action-fil当仅在控制器上进行操作时,它对眼睛不太友好。

两者可以实现相同的目标。在大多数情况下,您需要问自己的问题实际上是:

  1. 使用 RedirectToRouteResult() 时是否需要永久重定向标志?
  2. 使用 RedirectToRouteResult() 时是否需要编写额外的代码?

如果你的答案是否定的或者我不知道

RedirectToAction("Action", "Controller", new { parameter = value });

可能是您最好的选择!

EDIT:

这是一些关于什么的说明RedirectToRouteResult is.

在此你会注意到RedirectToRouteResult不是您通常会在操作中调用返回的内容。它用作多个的返回类型RedirectToRoute来电。例如,您会在那本书中看到两个调用。RedirectToRoute and RedirectToRoutePermanent.

他们双双回归RedirectToRouteResult除了,RedirectToRoutePermanent返回带有永久重定向布尔的结果true。这会返回一个HTTP 301 status code.

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时使用 RedirectToAction 以及何处使用 RedirectToRouteResult? 的相关文章

随机推荐

  • C++ 中独立于平台的 GUID 生成?

    在 C 中以编程方式生成 GUID 或 UUID 而不依赖于特定于平台的工具的最佳方法是什么 我正在尝试为模拟中的对象创建唯一标识符 但不能依赖 Microsoft 的实现 因为该项目是跨平台的 Notes 由于这是针对模拟器的 所以我 并
  • 存储/访问有向图的最佳方式

    我有大约 3500 个防洪设施 我想将它们表示为一个网络来确定水流路径 本质上是一个有向图 我目前正在使用 SqlServer 和 CTE 递归地检查所有节点及其上游组件 只要上游路径没有大量分叉 这就可以工作 然而 由于增加了上游的复杂性
  • Spring Data JPA更新方法

    我仍在寻找 Spring Data JPA 中的更新方法来更新给定的Object保存在关系数据库中 我只找到了一些解决方案 其中我被迫通过 Query 注释指定某种 UPDATE 查询 与 Modifying 相比 例如 Modifying
  • CodeIgniter SMTP 电子邮件消息 - 用等号替换字符

    我正在使用 CodeIgniter 电子邮件库通过我们的 Exchange 服务器发送电子邮件 我遇到的问题是电子邮件的内容变得混乱 有一些单词被等号 替换 我尝试了 2 个不同的 Exchange 服务器 它们位于不同的位置并且没有任何关
  • anaconda 中使用的 Gcc 版本的 python

    如何更改 anaconda 或虚拟环境中使用的 python gcc 版本 现在当我启动 python 时它显示 GCC 4 4 7 20120313 Red Hat 4 4 7 1 在linux2上 这与系统范围内的相同gcc in us
  • 我的问题是关于 R 的:如何对 R 中表中的每个重复进行编号?

    在我的数据集中 它们是全名列 例如 下面 我想在它旁边添加另一列 提及名称是否使用 R 出现了两次一 二 三 四 次 输出应类似于下面的列 重复次数 例如 数据集名称 People Full name Number of repetitio
  • 如何捕获并打印未知类型的异常

    我有一些程序 每次运行它时 它都会引发异常 我不知道如何检查它到底抛出了什么 所以我的问题是 是否可以捕获异常并打印它 如果它源自std exception你可以通过参考捕捉 try code that could cause except
  • 如何将 FFmpeg 命令行转换为 ffmpeg-python 代码?

    我有这个命令行代码 ffmpeg i 0 mp4 c v libx265 preset fast crf 28 tag v hvc1 c a aac bitexact map metadata 1 out mkv 我想将其转换为Python
  • 在同一个ipa中支持armv6和armv7

    我有一个 XCode 项目 配置如下 项目格式 XCode 3 1 兼容 架构 标准 armv6 armv7 基础 SDK 最新 iOS 当前设置为 iOS 4 2 仅构建活动架构 未选中 有效架构 armv6 armv7 我的问题 生成的
  • 如何在selenium中获取和设置文本编辑器值

    我的网页上有文本编辑器 我需要使用 c 中的 selenium 脚本填充其值 我知道如何为文本框执行此操作 我已经检查了流程在文本框中设置值 https stackoverflow com questions 10557196 using
  • 如何隐藏 optgroup/option 元素?

    有没有办法隐藏option or optgroupHTML 元素 我试过打电话hide 在 jQuery 中 也使用常规 Javascript 来设置style display none 它可以在 Firefox 中运行 但不能在任何其他浏
  • 带有 REST API 的 Ruby on Rails

    我对 Ruby on Rails 很陌生 虽然我喜欢所提供的组织和标准 但我对如何让 Rails 在这种特定情况下为我工作感到有点困惑 我有一个 Web 服务 我想将其与 Rails 应用程序一起使用 直接连接到数据库会很好 并且可以立即为
  • GXT 3.x EditorGrid:逐个单元选择单元格编辑器类型

    无论如何 是否可以逐个单元地定义编辑器类型GXT 3 0 我需要创建一个转置表 列变成行 行变成列 在这种情况下 一列 从普通表的角度来看 将具有不同的编辑器类型 而行将具有相同的编辑器类型 我正在尝试使用以下方法 它似乎工作正常 并允许根
  • 使输入类型=“密码”在移动设备上使用数字键盘

    在我为移动设备设计的网站上 我有一个用于 PIN 码的输入字段 我希望在输入文本时隐藏文本 并且希望当移动设备上的用户想要输入 PIN 码时弹出数字键盘 当类型 数字 时 数字键盘会弹出 但当类型 密码 时 数字键盘不会弹出 并且我无法 或
  • 如何在 Access 开发中使用版本控制?

    我参与更新 Access 解决方案 它有大量的 VBA 大量的查询 少量的表格以及一些用于数据输入和报告生成的表单 它是 Access 的理想候选者 我想更改表设计 VBA 查询和表单 如何使用版本控制跟踪我的更改 我们使用 Subvers
  • C 中的类型转换会变得香蕉吗? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 看来 C 和我对这里的预期输出存在分歧 I have struct r struct int r i float r f
  • 有没有办法打印到输出控制台? (双猫3)

    有没有办法使用结构化文本打印输出到控制台 例如 VB NET 中的 debug print 双猫3 您可以通过 TwinCAT 代码通过 ADS 命令发送消息 该函数称为ADSLOGSTR https infosys beckhoff co
  • Cordova:意外的机器代码 - 您上传的内容同时包含位代码和本机机器代码

    我正在构建一个 iOS Cordova 应用程序 当我将其上传到 iTunes Connect 时 它返回以下错误 意外的机器代码 您上传的内容同时包含位代码和本机机器代码 当您提供位码时 无需也包含机器代码 要减少上传的大小 请使用 Xc
  • 如何让实体框架更新复杂类型?

    我正在使用实体框架 EF 从存储过程创建复杂类型 最近 存储过程发生了变化 添加了更多返回值 我想更新映射到该存储过程的复杂类型 这可能吗 如果可以 如何实现 我目前正在每次删除我的函数导入和复杂类型存储过程更改 这很可能不是最好的方法 我
  • 何时使用 RedirectToAction 以及何处使用 RedirectToRouteResult?

    Question 在什么情况下 我可以使用RedirectToAction以及在哪里使用RedirectToRouteResult 我有两个如下所示的操作方法 方法 1 public class ActionResultTypesContr