Я переписываю проект веб-сайта с помощью ASP.Net MVC 4, и мне сложно настроить правильные маршруты. Структура URL не RESTful или не соответствует шаблону контроллера/действия - страницы имеют следующую структуру пули. Все пули сохраняются в базе данных.
/country
/country/carmake
/country/carmake/carmodel
/custom-landing-page-slug
/custom-landing-page-slug/subpage
Пример:
/italy
/italy/ferrari
/italy/ferrari/360
/history-of-ferrari
/history-of-ferrari/enzo
Так как Country
, Car Make
и Car Model
- это разные модели/сущности, я хотел бы иметь что-то вроде CountryController, CarMakesController и CarModelsController, где я могу обрабатывать различную логику и отображать соответствующие представления. Кроме того, у меня есть настраиваемые целевые страницы, в которых могут быть пули, содержащие одну или несколько слэшей.
Моя первая попытка состояла в том, чтобы иметь все PagesController
, которые будут искать пул в базе данных и вызывать соответствующий контроллер на основе типа страницы (например, CarMakesController
), который затем выполняет некоторые логики и сделать вид. Тем не менее, мне никогда не удастся "вызвать" другой контроллер и сделать соответствующий вид - и он не чувствовал себя хорошо.
Может ли кто-нибудь указать мне в правильном направлении? Спасибо!
EDIT: Чтобы уточнить: я не хочу перенаправления - я хочу делегировать запрос другому контроллеру для обработки логики и визуализации представления в зависимости от типа содержимого (Country
, CarMake
и т.д.)..