如何在网址

时间:2017-06-28 14:33:50

标签: asp.net asp.net-mvc visual-studio asp.net-mvc-4

我正在使用asp.net mvc 4,我想在url中始终有控制器名称+动作名称。有时它可以工作,但无论出于何种原因,当我启动应用程序时,它只显示项目的名称+“/”,即使我使用重定向到默认操作。

我的设置:

在routeConfig中

我有:

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "ProductionQueue", action = "Index", id = UrlParameter.Optional }
        );
    }

我使用的重定向:

return RedirectToAction( "Index", "ProductionQueue", null);

所以问题是,即使可选参数为null,有没有办法在url中始终拥有控制器+动作名称? (在启动时,使用重定向等时。)

Nb:解决方案必须在生产中使用

1 个答案:

答案 0 :(得分:0)

删除默认情况

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}"
    );

虽然您会注意无法浏览网站的根目录,但您每次都必须指定控制器和操作。