我正在使用ASP.NET MVC 5,我正在寻找动态选择哪个控制器处理特定请求。
例如,用户可能会请求/ControllerName/ActionName/
,但我想首先查看我的源代码中是否有控制器/CustomCodeDirecotry/ControllerName/ActionName
。如果我有该控制器,则使用它来处理请求。如果我没有,那么继续使用请求的控制器。
这方面的关键是我不希望用户知道他们被转移到另一个网址。
答案 0 :(得分:0)
最后,这个问题的答案是在映射路由时提供命名空间。具体做法是:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "MvcSite.Special.Controllers" });
我找到了答案here