Roteamento .NET MVC-4 com slugs personalizados
Estou reescrevendo um projeto de site com ASP.Net MVC 4 e acho difícil configurar as rotas corretas. A estrutura de URL não é RESTful ou segue um padrão de controlador / ação - as páginas têm a seguinte estrutura de slugs. Todas as lesmas são salvas no banco de dados.
/country
/country/carmake
/country/carmake/carmodel
/custom-landing-page-slug
/custom-landing-page-slug/subpage
Exemplo:
/italy
/italy/ferrari
/italy/ferrari/360
/history-of-ferrari
/history-of-ferrari/enzo
Desde aCountry
, Car Make
eCar Model
são diferentes modelos / entidades, eu gostaria de ter algo como um CountriesController, CarMakesController e CarModelsController onde eu possa lidar com a lógica diferente e renderizar as visualizações apropriadas. Além disso, tenho as páginas de destino personalizadas que podem ter slugs contendo uma ou mais barras.
Minha primeira tentativa foi ter um pega-tudoPagesController
qual procuraria o slug no banco de dados e chamar o controlador apropriado baseado no tipo de página (por exemplo.CarMakesController
), que executaria algumas lógicas e renderizaria a visualização. No entanto, eu nunca consegui "chamar" o outro controlador e renderizar a visão apropriada - e não parecia certo.
Alguém pode me apontar na direção certa aqui? Obrigado!
EDIT: Para esclarecer: eu não quero um redirecionamento - eu quero delegar a solicitação para um controlador diferente para o tratamento de lógica e renderização de uma visão, dependendo do tipo de conteúdo (Country
, CarMake
etc).