Можно ли ограничить параметр маршрута определенным типом в ASP.net MVC? - PullRequest
0 голосов
/ 28 мая 2010

У меня есть следующий маршрут:

routes.MapRoute(
    "Search",                                               // Route name
    "Search/{affiliateId}",                                 // URL with parameters
    new { controller = "Syndication", action = "Search" }   // Parameter defaults
);

Есть ли способ убедиться, что "affiliateId" является действительным Guid? Я использую MVCContrib в другом месте на своем сайте, и, честно говоря, он предоставляет способ реализовать такого рода ограничения .... Я просто не знаю, что это такое!

Ответы [ 2 ]

3 голосов
/ 28 мая 2010

Вы можете написать ограничения регулярных выражений:

routes.MapRoute(
    "Search",                                               // Route name
    "Search/{affiliateId}",                                 // URL with parameters
    new { controller = "Syndication", action = "Search" },   // Parameter defaults
    new { affiliateId = "SOME REGEX TO TEST GUID FORMAT" } // constraints
);
0 голосов
/ 28 мая 2010

Я никогда не слышал об этом. Боюсь, это может привести к некоторой путанице, если вы по ошибке использовали неверный тип для параметра affiliateId в одном из ваших методов действия.

...