ASP.NET маршрутизация с условием НЕ равным ограничению - PullRequest
7 голосов
/ 10 декабря 2010

У меня есть такой маршрут:

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

Это прекрасно работает для всех пользователей , но У меня есть ситуация, когда я хочу выполнить действие для получения дополнительной активности. Поэтому я хочу сделать это ограничение, чтобы сказать, когда имя пользователя НЕ getmoreacctivity. Это просто не работает, хотя.

Я застрял в RouteDebugger и попробовал @ "[^ (getmoreactivity)]" @ "^^ (getmoreactivity)" @ "^ getmoreactivity" @ "[^ getmoreactivity]". Ну, я пробовал множество вещей, но ни одна из них не решила мою проблему.

Как, черт возьми, вы вводите ограничение НЕ на целое слово?

1 Ответ

18 голосов
/ 10 декабря 2010

попробовать:

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

?! - это взгляд в будущее: http://www.regular -expressions.info / refadv.html

......

...