MVC路线与普通的前pression [英] MVC Routes with Regular expression

查看:115
本文介绍了MVC路线与普通的前pression的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图把一个约束到不想要工作的途径。相反,为用户提供控制器的列表,允许一个约束,我想除了限制向ProjectController所有控制器这条路线。

I'm trying to put a constraint onto a route that does not want to work. Instead to provide a constraint with a list of controllers to allow, I am trying to restrict this route to all controllers except 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功能来检查它,我已经仔细检查常规的前pression和似乎是正确的,并但它似乎并没有工作。

This route should be used for all controllers except for the ProjectController. As far as the documentation go it will uses Regex.IsMatch function to check it, and I've double check the regular expression and seems correct, and but it does not seem to work.

我缺少的东西吗?

推荐答案

请尝试以下限制:

controller = @"^(?!project$).*$"

这篇关于MVC路线与普通的前pression的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆