Url Routing Asp.net из иерархического дерева страниц, хранящихся в базе данных

Хорошо

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

  • Я БЫ
  • Заголовок страницы
  • Содержание HTML страницы
  • ParentId

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

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

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

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

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

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

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

1 ответ

Изменен:

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

к этому:

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

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

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

Другие вопросы по тегам