9

我有这样的路线:

routes.MapRoute
    (
    "Profile",
    "profile/{username}",
    new { controller = "Profile", action = "Index" },
    new { username = @"^(getmoreactivity)" }
    );

这对所有用户都适用,我有一种情况,我想为 getmoreactivity 执行操作。所以我想用这个约束来说明用户名何时不是 getmoreactivity。它只是不工作。

我坚持使用 RouteDebugger 并尝试了 @"[^(getmoreactivity)]" @"^^(getmoreactivity)" @"^getmoreactivity" @"[^getmoreactivity]"。好吧,我尝试了无数的事情,但没有一个能解决我的问题。

你到底是如何对整个单词加上 NOT 约束的?

4

1 回答 1

20

尝试:

routes.MapRoute 
( 
"Profile", 
"profile/{username}", 
new { controller = "Profile", action = "Index" }, 
new { username = "(?!getmoreactivity).*" } 
); 

?!是一个前瞻:http ://www.regular-expressions.info/refadv.html

……

于 2010-12-10T11:41:57.357 回答