ASP.net如何将RedirectToRouteResult()设置为MapRoute()中配置的url

ASP.net如何将RedirectToRouteResult()设置为MapRoute()中配置的url,asp.net,redirect,routes,Asp.net,Redirect,Routes,我在RouteConfig.cs中设置了路线图,如: routes.MapRoute( name: "Default", url: "prefix/{controller}/{action}", defaults: new { controller = "MainView", action = "Index" } ); 在某些情况下,我想在MainView/Index中执行重定向,因此我编写

我在RouteConfig.cs中设置了路线图,如:

        routes.MapRoute(
            name: "Default",
            url: "prefix/{controller}/{action}",
            defaults: new { controller = "MainView", action = "Index" }
        );
在某些情况下,我想在MainView/Index中执行重定向,因此我编写了如下代码,并返回它:

        RedirectToRouteResult redirect = new RedirectToRouteResult(
                new System.Web.Routing.RouteValueDictionary(new { action = "Home", controller = "Account"}));
我希望它能返回如下url:localhost/prefix/Account/Home,但结果是localhost/Account/Home。如何将重定向结果设置为localhost/prefix/Account/Home


谢谢

好吧,我犯了一个愚蠢的错误,这个操作上有[Authorize]属性,所以返回url是由这个属性生成的。我更正此代码并获得预期的url。

您是否使用mvc库并尝试执行返回重定向操作(“主页”、“帐户”)?是的,我使用mvc5,还尝试了RedirectToAction(“主页”、“帐户”),它仍然返回意外的url。