C# 路由未定义的控制器

C# 路由未定义的控制器,c#,asp.net,asp.net-mvc,routing,C#,Asp.net,Asp.net Mvc,Routing,如何在ASP.NET MVC中设置路由,以便将带有未定义控制器的路径路由到特定控制器 例如,我有一个UserController,所以我想路由到UserController,但我想路由到ProjectController,以便找到超级酷的项目项您可以创建一个自定义控制器工厂来执行此操作 在自定义控制器工厂的IControllerFactory实现的CreateController方法中,首先尝试使用DefaultControllerFactory创建控制器,然后如果失败,则创建回退控制器的实例

如何在ASP.NET MVC中设置路由,以便将带有未定义控制器的路径路由到特定控制器


例如,我有一个UserController,所以我想路由到UserController,但我想路由到ProjectController,以便找到超级酷的项目项

您可以创建一个自定义控制器工厂来执行此操作


在自定义控制器工厂的IControllerFactory实现的CreateController方法中,首先尝试使用DefaultControllerFactory创建控制器,然后如果失败,则创建回退控制器的实例并返回它。

我认为您不应该使用address。相反,它应该是,但如果您想使用{projectname}project格式的地址,您可以在global.asax中定义如下规则:

routes.MapRoute(
    "ProductByNameRule",
    "{projectName}project",
    new { controller = "Project", action = "ByName" }
);
而且

public ActionResult ByName(string projectName) {
}

项目控制器中

不幸的是,这不是我理想的解决方案,但目前它是可行的