Я следующий URL в виду:MVC опускаем дополнительная страница параметров
/restaurants/italian/miami.html
/restaurants/italian/miami-p2.html
Используя эти маршруты
routes.MapRoute(null, "{category}/{branch}/{city}-p{page}.html",
new { controller = "Branch", action = "Index" });
routes.MapRoute(null, "{category}/{branch}/{city}.html",
new { controller = "Branch", action = "Index", page = 1 });
Теперь мой вопрос, я хочу сделать "-p {страница}" часть необязательного URL-адреса, а не только параметра {page}. Таким образом, я могу использовать один маршрут, а также использовать его для сопоставления исходящих URL-адресов с Url.RouteUrl(RouteValueDictionary)
(который затем автоматически удаляет часть страницы, если параметр страницы в словаре равен 1).
* Почему вы добавляете '.html' на свои маршруты? Весь маршрут маршрутов - * не * указывает на физическую страницу. –
Мои мысли точно, но это не мое решение, к сожалению, – Fabian