我的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
操作方法隐藏为网址
答案 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;路线值,哪个 是必需的。