Маршрутизация URL для CMS - PullRequest
0 голосов
/ 28 января 2012

Я занимаюсь разработкой CMS, которая хранит пользовательский контент в таблице базы данных, например:

----------------------------------------
PageId   | PageTitle(Unique) |  Content 
----------------------------------------
1        | PageOne           | ...
2        | PageTwo           | ...
3        | PageThree         | ...
4        | PageFour          | ...

Теперь у меня есть страница aspx "SitePageFactory.aspx" в корне, которая обслуживает динамическое содержимое при передаче строки запросапредположим, что передается /SitePageFactory.aspx?pgid=1, а затем он обслуживает содержимое для PageOne.

Приведенная выше концепция работает нормально.

Теперь я хочу сделать еще один шаг, добавив динамические маршруты в это приложение и изменив / SitePageFactory.aspx? Pgid = 1 на / PageOne.aspx , но не может сделать это на корневом уровне .

ПРИМЕЧАНИЕ: В настоящее время я могу выполнять маршрутизацию, например / SitePageFactory / PageOne.aspx , но я хочурезультаты на корневом уровне.

Спасибо.

1 Ответ

0 голосов
/ 28 января 2012

Для этого можно использовать маршрутизацию ASP.NET.

Маршрутизация позволяет сопоставить URL-адрес, например: www.mysite.com/pages/pageone, со страницей aspx.Различные части вашего URL могут быть сопоставлены с параметрами маршрута, к которым вы можете обратиться в aspx.

Вот документация MSDN для маршрутизации.

Вы можете добавитьследующий маршрут:

routes.MapRoute("ViewPage",
                "<PageName>",
                new { controller = "Page", action = "ViewPage" }

Это отобразит URL www.yourdomain / на метод ViewPage контроллеров страницы.

...