Я только что столкнулся с этим вопросом и знал, что должен быть способ сделать это.Существует -
MapPageRoute
имеет перегрузку, которая позволит вам указать значения по умолчанию.Вот пример использования, основанный на вашем коде:
routes.MapPageRoute(
"ProductsBrowse",
"browse/{BrowseBy}/{Category}",
"~/Pages/Products/Browse.aspx",
false,
new RouteValueDictionary { { "Category", string.Empty } }
);
Так что, если пользователь не определит категорию, этот маршрут все равно будет пройден.Проблема, с которой я сталкиваюсь при использовании двух отдельных маршрутов, заключается в том, что у меня есть настройки ссылок вокруг моего сайта, которые генерируются по имени маршрута, и у вас не может быть двух маршрутов с одинаковым именем.
Вот хорошая документация из MSDN: здесь