MVC3 структура маршрутов - PullRequest
0 голосов
/ 06 марта 2012

У меня следующая структура сайта:

(Section / SubSection / Pages / 1..n)

e.g.
News/Current
News/Archive
News/Current/Pages/23
News/Archive/Pages/3

Если пользователь заходит в / News, я хочу, чтобы он по умолчанию былНовости / Текущие, другие они видят страницу выше.Точно так же,

Events/Latest
Events/London
Events/Latest/Pages/15
Events/Archive/Pages/4

У меня есть настройки контроллера для новостей и событий, но как мне создать действия и global.asax MapRoutes для обработки моей структуры?

Я не хочучтобы использовать области для этого, просто простые контроллеры и действия, пожалуйста.Каждое представление для раздела будет обрабатывать ViewModel со свойством ContentPage из базы данных?

Таким образом, у каждого раздела будет представление, которое будет заполнено ContentPage PartialView.

Спасибо

1 Ответ

1 голос
/ 06 марта 2012

У вас есть две альтернативы:

  1. Использовать области
  2. Создать маршруты для Archive и Latest, что делает раздел после Pages параметром, содержащим страницу.

Обновление

Маршрут:

routes.MapRoute(
    "MySuperRoute",
    "{controller}/{section1}/{section2}/{id}",
    new { controller = "Home", action = "TheHandlingAction", id = UrlParameter.Optional }
);

И действие:

public ActionResult TheHandlingAction(string section1, string section2, int id)
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...