mvc3: Предложить структуру контроллера - PullRequest
0 голосов
/ 28 июня 2011

Я начинаю привыкать к MVC, и после пары небольших обучающих проектов я готов принять больший укус.

Я ищу работу над такой структурой.
/admin / index
/ admin / user / create: чтение: обновление: удаление: список
/ admin / news / create: чтение: обновление: удаление: список

Учитывая последние два, ядумая, что у меня должны быть контроллеры
Admin
AdminUser
AdminNews

... и что у меня должны быть представления, хранящиеся в этих папках
/ Views / Admin
/ Views /Администратор / Пользователь
/ Представления / Администратор / Новости

Описанное выше звучит нормально?

Наконец, как мне настроить эти маршруты для попадания на эти контроллеры?

Я попробовал что-то подобное, но это не сработало.

routes.MapRoute(
    "Admin/User", // Route name
    "/Admin/{controller}/{action}/{id}", // URL with parameters
    new {controller = "AdminUser", action = "Index", id = UrlParameter.Optional} // Parameter defaults
    );

Ответы [ 4 ]

1 голос
/ 28 июня 2011

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

Однако, если вы не пошли по этому пути, то ответьте немного на ваш вопрос.

Во-первых. Представления будут в папках:

Views/Admin
Views/AdminUser
Views/AdminNew

Во-вторых. Маршрут должен просто быть маршрутом по умолчанию, который сначала настроен в проекте * 1008 то есть *

{controller}/{action}/{id}

где действием будут методы, предоставляемые контроллерами Admin, AdminUser и AdminNew.

Чтобы указанная вами маршрутизация вы могли бы сделать что-то вроде:

routes.MapRoute(
"AdminUser",
/Admin/User/{action},{id},
new {controller = "AdminUser", action = "Index", id = UrlParameter.Optional}
);

И для новостей. Для администратора я считаю, что маршрут по умолчанию поймает это.

Надеюсь, это поможет.

1 голос
/ 28 июня 2011

Я начинаю привыкать к MVC, и после пары небольших обучающих проектов я готов принять больший укус.

Если вы начинаете изучать asp.net mvc и пытаетесь внедрить админ-панель, я бы предложил "Области". Взгляните на Пошаговое руководство. Организация приложения ASP.NET MVC с использованием областей .

1 голос
/ 28 июня 2011

Я бы использовал функцию областей .

Видя это:

  • Администратор
  • AdminUser
  • AdminNews

Приводит меня к мысли, что вы можете добавить область Admin и иметь под ней отдельные контроллеры. Тогда ваши URL будут / Admin / Пользователь и / Admin / Новости и т. Д.

0 голосов
/ 28 июня 2011

Вы также можете использовать область для административной части.

...