【问题标题】:RedirectToRoute not working in ASP.NET MVC projectRedirectToRoute 在 ASP.NET MVC 项目中不起作用
【发布时间】:2020-02-14 09:01:20
【问题描述】:

我正在构建一个带有多个控制器的有点复杂的 ASP.NET MVC 网站。在每个控制器的 Index() 方法/处理程序中,我执行一些验证并在出现错误时重定向到默认路由,以便在出现问题时将用户重定向到网站的默认页面。 但是,由于某种原因,重定向不起作用。我使用RedirectToRoute("Default") 重定向到默认路由,但不知何故,我当前所在的控制器的 Index() 方法再次被调用,并且没有发生重定向。这会导致无限循环,并且有时浏览器会显示重定向错误。 我的默认路由定义如下:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}",
    defaults: new { controller = "Home", action = "Index" }

为什么不重定向到 Home-controller 的 Index-action?

【问题讨论】:

    标签: c# asp.net-mvc redirect


    【解决方案1】:

    因为您正在重定向到与现在相同的路线。 “默认”路由上指定的默认值仅适用于“控制器”和“动作”没有值时,情况并非如此——您在控制器的特定动作中运行。 可能您想要的是重定向到应用程序的根目录,这通常是您首先要去的地方(您的“默认”路线似乎表明了这一点)。

    【讨论】:

      猜你喜欢
      • 2017-09-12
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 2019-05-12
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      相关资源
      最近更新 更多