ASP.NET WebForms Routing

Рейтинг: 0Ответов: 1Опубликовано: 07.12.2014

Всем привет.

В проекте ASP.NET WebForms использую стандартный Routing. Определяю маршруты, указываю, на какие страницы они отражаются.

Например, в следующем примере задан маршрут, который при запросе URL вида http://мойсайт.ru/content за кулисами предаст управление странице Index.aspx, которая расположена в папке Contents.

 private static void RegisterRoutes(RouteCollection route)
 {
       route.RouteExistingFiles = true;

       route.MapPageRoute("MyRoute", "content", 
            "~/Contents/Index.aspx");
 }

Собственно, все это хорошо работает, но не нравится то, что я могу обратиться к странице http://мойсайт.ru/contents/Index.aspx еще и напрямую, а не только через маршрут. Можно ли как-то отключить это, т.е. чтобы все обращение к страницам происходили через систему маршрутизации, а напрямую вызвать страницы было нельзя.

Обновление

Я думаю, через конфигурацию маршрутов такое не сделать, судя по моему опыту работы с маршрутами в MVC. В идеале я хочу добиться следующего. Например, пользователь напрямую запрашивает страницу http://мойсайт.ru/contents/Index.aspx, т.к. для данной страницы существует маршрут, то сервер переадресовывает (если здесь уместно данное слово) браузер пользователя на http://мойсайт.ru/content. И в итоге пользователь в адресной строке своего браузера видит уже http://мойсайт.ru/content, несмотря на то, что он запрашивал страницу напрямую. Думаю, идея ясна.

Ответы

Ответов пока нет.