Я использую маршрутизацию ASP.NET для сопоставления URL-адресов с произвольным числом разделов на моем сайте.Все они будут обрабатываться на одной странице, хотя я хочу иметь разные URL.Например,
http://site.com/blog
для моего blog
раздела
http://site.com/mysection
для mysection
и т. Д.
Таких разделов может быть любое количество, но все они будут обработанына Lister.aspx
.У меня также есть другая страница, которая обрабатывает контент, названная ContentView.aspx
, которая демонстрирует контент.Мой маршрут выглядит следующим образом: (cats - это список категорий)
cats.ForEach(c =>
{
table.Add(new Route(c.ShortName, new PageRouteHandler("~/Lister.aspx?cat=" + c.ID), ));
table.Add(new Route(c.ShortName + "/{id}", new PageRouteHandler("~/ContentView.aspx")));
table.Add(new Route(c.ShortName + "/{id}/{title}", new PageRouteHandler("~/ContentView.aspx")));
});
Допустим, у меня есть запись в блоге с идентификатором 123
и названием hello
:
Пользователь может получить к нему доступ с помощью http://site.com/blog/123/hello
Они также могут использовать только идентификатор http://site.com/blog/123
Как вы можете догадаться, я хочу, чтобы http://site.com/blog
указывал на страницу списка, а не на просмотрщик контента, и мне также нужен идентификатор категории, чтобы различать, какойкатегория (blog
или mycategory
или что-либо еще, что было создано динамически), я должен отобразить.Я пытаюсь передать идентификатор категории в строку запроса, вызывается страница списка, но без строки запроса.Почему это происходит, и как я могу отправить свой идентификатор категории на страницу списка?