Меня мучает один вопрос, можно ли без лишней сложности задать маршрутизацию в webforms например так:
"/product/{id}" => "/product.aspx?id={id}" (чтобы если пользователь введёт /product/5 это было эквивалентно product.aspx?id=5)
а на странице я буду доставать данные уже не из RouteData, а из QueryString.
Я делал такую штуку, но приходилось самому писать RouteHandler.
Такой подход нужен, чтобы страница была доступна и по физическому пути и по маршруту?
Такая ситуация возникает при переводе старого проекта на новую систему адресации. Было бы круто не править код всех страниц, а просто вызвать RegisterRoutes и все.
Мне чисто логически такая маршрутизация больше нравится, если есть параметр в урле, то он должен отображаться на параметр строки запроса и на станице я использую именно QueryString.
А так получается идёт перенаправление на какую-то страницу, но параметры как-то непонятно хранятся.
Только если у вас количество страниц растет, то вы наслаждаетесь тормозами, от того, что кадый запрос будет проверяться на наличие зарегестрированного маршрута.
URL маршрутизация в ASP.NET 4 Web Forms