Нужна помощь в использовании регулярных выражений для ограничения маршрута - PullRequest
1 голос
/ 12 марта 2012

Как лучше всего утверждать, что значения L1Cat и L2Cat не должны быть целочисленными или не состоять только из 0-9 чисел, чтобы удерживать значение страницы от присвоения им при некоторых запросах URL.

                    routes.MapRoute(
        "Store5", // Route name
        "{RootPointer}/{L1Cat}/{L2Cat}/{page}", // URL with parameters
        new
        {
            controller = "Store",
            action = "Index",
            RootPointer = UrlParameter.Optional,
            page =1
        },
        new { controller = "Store", action = "Index", page = @"\d+" });

Ответы [ 2 ]

0 голосов
/ 12 марта 2012

Попробуйте это

 !Regex.IsMatch(url,@"/\d+/")
0 голосов
/ 12 марта 2012

Попробуйте @".*[^\d].*" для L1Cat и L2Cat. Это означает, что где-то в части URL должен быть не десятичный символ. Обычно, конечно, [^\d] будет достаточно, но Маршрут по умолчанию оборачивает ограничения регулярных выражений в ^ и $, поэтому просто [^\d] будет захватывать только однозначные части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...