Для проекта у меня есть динамические страницы, которые извлекаются из базы данных контента. Однако некоторые страницы требуют дополнительных вычислений. Итак, я подумал, что создам для них определенный контроллер / представление, и они будут попадать только тогда, когда они существуют, в противном случае мой динамический маршрут перехватит его и позволит контроллеру содержимого получить содержимое базы данных для указанного маршрута.
Надеюсь, я все правильно объяснил, но вот код из моего Global.asax, который может объяснить это немного подробнее:
routes.MapRoute( // Default controller actions, when not found, fall back to next route?
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
routes.MapRoute( // Catch all other? (And try to find content for those)
"DefaultContentRoute",
"{ContentCategory}/{Content}",
new { controller = "Content", action = "Index" },
);
Это, очевидно, не работает, так как я получаю сообщение об ошибке «Обнаружено несколько типов, соответствующих контроллеру с именем xxx», когда я добавляю контроллер для контента, который требует дополнительных вычислений.
Но мне было интересно, есть ли другой способ добиться того, что я пытаюсь сделать здесь? (Приоритетность маршрутов)
Я явно хочу, чтобы мой URL был полностью динамическим.
Заранее большое спасибо.