我有一个区域,在 AreaRegistration 中我定义了区域中所有控制器所属的命名空间。
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller="Home", action = "Index", id = UrlParameter.Optional },
new[] { "MySite.Admin.Controllers" } // Namespaces
);
即使不匹配该路由,如何防止调用该区域中的控制器。IE /home/index(开头没有“admin”字样)。
例子:
如果有属于上面定义的区域根的控制器“MySite.Admin.Controllers.HomeController”。如果它不匹配路由“Admin/{controller}/{action}/{id}”(最后是“Admin”),我想禁止控制器工厂搜索该控制器(即抛出异常)。所以如果我输入“home/index”(开头没有“Admin”)网站会抛出一个找不到控制器的错误。
希望我足够清楚。