【发布时间】:2021-06-17 13:35:28
【问题描述】:
尝试在 MVC 中使用自定义路由 URL,但不起作用
我需要Admin/Company 等 URL,但也有与公司控制器冲突的管理控制器:
routes.MapRoute(
name: "Company",
url: "Admin/Company",
defaults: new {controller = "Company", action = "Index" }
);
尝试执行此操作,但不知道为什么 Admin Controller 首先调用,我需要在 URL 中使用 Admin。有什么帮助吗?
【问题讨论】:
-
看来你让自己过不下去了。如果有
AdminController,那么“/Admin”会去那里。如果你不能在那里添加公司管理,你必须像你建议的那样做一个复杂的解决方法......你为什么不重新考虑这个并使用“/Company/Admin”? -
@Sohaib Azhar:如果您有
Admin控制器和Company控制器,请描述您的路线的所有要求,并包括所有相关代码。更好地显示RegisterRoutes(RouteCollection routes)的所有相关部分。 -
@JHBonarius 我确实想到了 /Company/Admin,但我之前需要 Admin 部分
-
@Jackdaw 你能解释一下吗?
-
@Sohaib Azhar:实际上,您定义了正确的路线。如果您在浏览器中输入
Admin/CompanyURL,您将激活CompanyController.Index()操作方法。如果您输入/Admin或/Admin/IndexURL,您将输入AdminController.Index()操作方法。那么,你的问题是什么?您应该更准确地描述您的问题并显示所有相关的代码部分。
标签: c# asp.net asp.net-mvc routes