Если у меня есть маршрут как это:
routes.Add(new Route("{controller}/{page}",
new RouteValueDictionary
{
{ "page", UrlParameter.Optional }
},
new RouteValueDictionary
{
{ "page", @"[Pp]age\d+" }
},
new MvcRouteHandler()
));
Затем маршрут не соответствует, когда {страница} отсутствует, однако если я удаляю ограничение, это соответствует. Действительно ли это - ошибка или функция?
Это особенность: как может совпадать ограничение, если параметр необязательный? Вы можете либо установить значение по умолчанию для «page» на «Page1», чтобы решить вашу проблему, либо заменить свое регулярное выражение на «([Pp] age \ d +)?» чтобы ничего не совпадало (я не уверен насчет этого и не могу проверить его в атм).