我使用MVC5有一个Web应用程序应用程序。此应用程序通过MEF加载模块。我的模块插件中有一个名为SysInfoController
的控制器。
SysInfoController
效果很好,可以通过
http://localhost/sysinfo/index
我希望在我的插件中找到以前缀
路由的控制器http://localhost/plugin/sysinfo/index
如何在不使用区域的情况下实现所需的行为?
http://localhost/plugin/sysinfo/index
时,UrlHelper会返回Url.Action("Index", "SysInfo")
。我的源代码确实创建了所需的行为。
RouteConfig.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "plugin",
url: "plugin/{controller}/{action}"
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {controller = "Home", action = "Index", id = UrlParameter.Optional}
);
}
的Global.asax.cs
public class MvcApplication : KpmCfsHttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RegisterModules(); // register MEF modules
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}