Url Routing Asp.net из иерархического дерева страниц, хранящихся в базе данных - PullRequest
1 голос
/ 02 марта 2010

Ok

У меня есть куча html-страниц, хранящихся в базе данных mssql. Каждый ряд имеет:

  • ID
  • PageTitle
  • Содержание HTML страницы
  • ParentId

ParentId есть, чтобы я мог создать иерархическое дерево страниц.

В настоящее время я использую эту строку кода для доступа к страницам ...

routes.MapPageRoute("front", "{PageTitle}", "~/front.aspx");

Что затем вызывает перенаправление на front.aspx, поэтому я могу использовать:

Page.RouteData.Values["PageTitle"].ToString()

Чтобы получить то, что мне нужно, я могу отобразить соответствующую страницу в браузере.

Однако кто-нибудь может подсказать, как бы я изменил 'rout.MapPageRoute', чтобы он поддерживал бесконечное иерархическое дерево, как у меня в моей базе данных. По сути, я хочу иметь возможность ввести URL-адрес, как: http://localhost/PageOne/SubPageOfPageOne и т. Д.

1 Ответ

0 голосов
/ 02 марта 2010

Изменено:

routes.MapPageRoute("front", "{PageTitle}", "~/front.aspx");

к этому:

routes.MapPageRoute("front", "{*PageTitle}", "~/front.aspx");

это тянет все, что находится в URL (за пределами имени домена) ...

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

...