【发布时间】:2019-04-09 11:29:02
【问题描述】:
我有一个网站需要所有网站的部门 ID,因此我将默认路由改写为以下内容:
routes.MapRoute(
name: "Main",
url: "{deptID}/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", deptID = "", id = UrlParameter.Optional }
);
例如,当您使用以下 URL 时,它可以正常工作:
或者简单地说:
我的问题是当我转到“http://domain/”时出现错误,因为我没有指定部门 ID。 如何添加第二条路由,当您进入域时将触发该路由。
我已尝试添加以下内容:
routes.MapRoute(
name: "Start",
url: "/",
defaults: new { controller = "Department", action = "Select"}
);
这不起作用,因为您不能只将“/”作为 URL。
我也尝试添加默认路由,然后更改默认对象:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Department", action = "Select", id = UrlParameter.Optional }
);
这也不起作用。
【问题讨论】:
-
您首先遇到什么错误?由于您在
defaults中为deptID提供了默认值,因此您应该正确执行控制器操作。然后发布您的控制器和错误。 -
这个链接解决了你的问题:Multiple Routes in MVC asp.net
标签: c# .net asp.net-mvc asp.net-mvc-4