如何在MVC5中更改默认URL

时间:2016-02-04 05:57:07

标签: asp.net-mvc asp.net-mvc-5 routing

我的routeconfig.cs文件中有一条默认路由

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

它会在浏览器中将Home/Index隐藏为Url。我的目标是显示localhost:44300/Login而不是localhost:44300/Home/Index(但在内部会调用Home/Index)并且我想将Home/Details操作方法隐藏为网址

1 个答案:

答案 0 :(得分:2)

您可以将默认路线更改为Account控制器和必要的Action方法:

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

<强>更新

由于MVC的约定 RouteTable 应该是这样的,因此不可能: controller/action,反之亦然。

如果从路线中排除控制器,您将获得例外:

  

匹配的路线不包含&#39;控制器&#39;路线值,哪个   是必需的。