Использование маршрутизации в приложении Asp.Net Webform - PullRequest
1 голос
/ 20 августа 2009

Я использую System.Web.Routing в приложении Asp.Net Webform. Я написал следующий маршрут в global.asax

routes.RouteExistingFiles = true; // I made true/false both, but none works

routes.Add("competition", new Route
            (
               "Test",
               new CustomRouteHandler("~/Test/WebForm1.aspx")
            ));

И структура каталогов следующая: -

Применение

|

| --- Тест (папка)

   |--- Webform1.aspx

Когда я пишу в браузере http://localhost:xxxx/Test/ (используя Casini), запрос обрабатывается традиционным способом, а не через маршруты, и он дает мне страницу «Список каталогов - / test /».

Не могли бы вы мне помочь?

Ответы [ 2 ]

1 голос
/ 20 августа 2009

У меня была такая же проблема, и я выбрал прагматичное решение, что файл, который должен обрабатывать путь по умолчанию, называется Default.aspx

routes.Add("competition", new Route ( "Test", new CustomRouteHandler("~/Test/Default.aspx") ));
0 голосов
/ 20 августа 2009

Используете ли вы маршрутизацию прямо из коробки для веб-форм, я только что реализовал это специально для "веб-форм", поскольку есть некоторые вещи, о которых нужно знать:

http://haacked.com/archive/2008/03/11/using-routing-with-webforms.aspx

НТН

Обновление:

Использование реализации в ссылке по-прежнему приводит к той же ошибке, поскольку фактическая папка существует.

Я думаю, что поскольку папка существует, она будет обслужена (в некоторых случаях может быть желательным перечисление содержимого папки)

Может быть, лучше использовать другой подход, например, если все страницы указывают на определенные страницы входа в экстрасеть, возможно, будет работать дополнительная описательная папка, например: / Extranets / Test /?

...