我正在尝试将约束放在不想工作的路线上。而不是提供允许的控制器列表的约束,我试图将此路由限制到除ProjectController之外的所有控制器。
context.MapRoute("Project_Projects",
"Project/{prj}/{controller}/{action}/{id}",
new { controller = "Dashboard", action = "Index",
id = UrlParameter.Optional },
new
{
prj = new ProjectRouteConstraint(),
controller = @"[^Project]"
}
);
此路由应该用于除ProjectController之外的所有控制器。就文档而言,它将使用Regex.IsMatch函数来检查它,并且我仔细检查正则表达式并且看起来是正确的,但它似乎不起作用。
我错过了什么吗?
答案 0 :(得分:2)
尝试以下约束:
controller = @"^(?!project$).*$"