Вопрос

Я использую 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/ (Используя казини), запрос обрабатывается традиционным образом, а не через маршруты, и он дает мне страницу «Список каталогов - /test /».

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

Это было полезно?

Решение

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

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

Другие советы

Вы используете маршрутизацию прямо в коробке для WebForms, я только что реализовал это для «WebForms», в частности, так как есть некоторые вещи, о которых следует знать:

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

Hth

Обновлять:

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top