【发布时间】:2010-04-10 19:07:59
【问题描述】:
我有一个区域,在 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”)网站会抛出一个找不到控制器的错误。
希望我已经足够清楚了。
【问题讨论】:
-
抱歉无法理解您的问题,您能举个例子吗?
标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-areas