ASP.net如何使RedirectToRouteResult()成为MapRoute()中配置的url

时间:2017-05-11 07:51:13

标签: asp.net redirect routes

我在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?

谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,我犯了一个愚蠢的错误,这个动作有[Authorize]属性,所以返回url是由这个属性产生的。我更正了这段代码并得到了预期的网址。