Как мне сделать многоуровневые маршруты лучше всего в MVC - PullRequest
0 голосов
/ 16 декабря 2010

У меня есть сайт, на котором я хотел бы URL-адрес, такой как:

/Some maincategory name/{id}/Some subcategory name/{id}/Some item name/{id}

Я включаю идентификаторы каждого уровня, поскольку имя не уникально. Это выполнимо, но я должен создать новую маршрутизацию для каждого уровня. Мой Html.ActionLink также выглядит противно.

Каждый уровень имеет свой собственный контроллер, так как уровни совершенно разные. URL-адреса могут быть примерно такими:

_/Birds/2/Waders/4/Flamingos/23_  
_/Mammals/5/Dogs/23/Longeared/25/Somedog/76_  
_/Insects/7/Spiders_

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

Есть ли хороший способ сделать это или я должен вместо этого использовать стандартную маршрутизацию?

Ответы [ 2 ]

0 голосов
/ 25 декабря 2010

Как насчет создания XML-файла, описывающего ваши категории, значения, URL-адреса на каждом узле, а затем создание таблицы маршрутов с помощью циклического перебора этих узлов XML?на ваших страницах.

0 голосов
/ 16 декабря 2010

Для этого есть два решения:

  1. Использование глобальной маршрутизации, которая приводит к

    http://you.url.com/controller/action/{mid}/{sid}/{tid}

    , где mid = основной идентификатор категории sid =идентификатор подкатегории tid = идентификатор элемента

  2. Использование комбинации строк маршрутизации и запроса

    http://you.url.com/controller/action/{tid}?mid={mid}&sid={sid}

Я бы предложил вам использоватьвторой метод, тогда вам не нужно разбираться с вещами маршрута.и надеюсь, что это поможет !!

...