Как создать маршрут типа "/ x / {* path} / y" в маршрутизации ASP.NET? - PullRequest
1 голос
/ 09 октября 2008

У меня есть маршруты типа «x / {* path}», где параметр path используется контроллером для навигации по древовидной структуре с целью получения ресурса, который подается клиенту.

Теперь я хотел бы расширить эту схему ортогональным образом с другими контроллерами, которые предоставляют другие «аспекты» ресурса, такие как метаданные или эскиз. Должна быть возможность добавить эти другие контроллеры, чтобы главный контроллер не знал об их существовании. Я планировал использовать маршруты типа "x / {* path} / y" для индексации этих аспектов, но система маршрутизации не будет принимать такие пути.

Я мог бы использовать ограничение для сопоставления моих дополнительных маршрутов только в том случае, если параметр пути заканчивается, например, на "/ y", но тогда контроллер должен знать о добавленном "расширении", чтобы иметь возможность удалить его при разборе путь - это не приемлемо.

Я вынужден написать свой собственный маршрут?

спасибо!

1 Ответ

1 голос
/ 18 мая 2009

Два решения:

  1. Используйте x/y/{*path} вместо.
  2. Продолжайте использовать x/{*path}, но когда вы читаете параметр пути, проверьте наличие /y и действуйте соответственно
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...