gpt4 book ai didi

asp.net-mvc - 何时使用RedirectToAction以及在哪里使用RedirectToRouteResult?

转载 作者:行者123 更新时间:2023-12-03 09:12:19 25 4
gpt4 key购买 nike

问题

在哪种情况下,我可以使用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();
}
}

这两段代码都有共同的结果

最佳答案

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

他们最终都实现了相同的目标。但是,RedirectToRouteResult()主要用于 Action 过滤器类型的场景seen here.。仅在对 Controller 执行 Action 时,它的外观不太友好。

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

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

  • 如果您的答案为否或我不知道,
    RedirectToAction("Action", "Controller", new { parameter = value });

    可能是您最好的选择!

    编辑:

    以下是有关 RedirectToRouteResult的一些信息。

    Reference to some MVC Redirects.

    在此,您将注意到 RedirectToRouteResult通常不是您要在操作中返回的东西。它用作多个 RedirectToRoute调用的返回类型。例如,您将在该书中看到2个通话。 RedirectToRouteRedirectToRoutePermanent

    它们都返回 RedirectToRouteResult,除了 RedirectToRoutePermanent返回带有永久重定向bool true的结果。这将返回 HTTP 301 status code

    希望这可以帮助!

    关于asp.net-mvc - 何时使用RedirectToAction以及在哪里使用RedirectToRouteResult?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16945519/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com