路由未定义的控制器
本文关键字:控制器 未定义 路由 | 更新日期: 2023-09-27 18:29:31
如何在ASP.NET MVC中设置路由,以便将具有未定义控制器的路径路由到特定控制器。
例如,我有一个UserController,所以我想要http://example.com/user路由到UserController,但我希望http://example.com/supercoolproject路由到ProjectController以查找Super Cool Project项目
我认为您不应该使用http://example.com/supercoolproject住址相反,它应该http://example.com/project/supercool,但如果您想在中使用地址http://example.com/{projectname}project格式,您可以在global.asax中定义规则,如下所示:
routes.MapRoute(
"ProductByNameRule",
"{projectName}project",
new { controller = "Project", action = "ByName" }
);
并具有
public ActionResult ByName(string projectName) {
}
在CCD_ 1中。
您可以创建一个自定义控制器工厂来完成此操作。
http://keyvan.io/custom-controller-factory-in-asp-net-mvc
在自定义控制器工厂的IControllerFactory实现的CreateController方法中,首先尝试使用DefaultControllerFactory创建控制器,然后如果失败,则创建回退控制器的实例并返回它。