Я новичок в ASP.NET MVC и столкнулся с некоторыми проблемами структурного проектирования.
Я не могу понять, как настроить маршрутизацию.
Я хочу следующее:
http://website/ > HomeController Action=Index
Public:
http://website/{controller} > SectionController Action=Index
http://website/products/id > ProductsController Action=Details
http://website/products/category/id > ProductsController Action=ListByCatId
http://website/products/categories/ > ProductsController Action=ListCategories
http://website/products/categories/id > ProductsController Action=DetailsCategories
Admin:
http://website/admin/ > AdminController Action=Index
http://website/admin/{controller} > SectionController Action=Index
mapRoute по умолчанию подходит для большинства частей:
routes.MapRoute("Default", "{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = ""})
Когда я начинаю ставить 'category' вместо id продукта, начинаются проблемы ...
Должен ли я «жестко закодировать» routeUrls, например, "products / category / {id}"?
Для административной части:
Я бы хотел поместить все контроллеры, относящиеся к разделу Admin сайта, в: /Controllers/Admin/XxxController.vb. Можно ли присвоить им пространство имен и позволить им иметь то же имя, что и в публичном разделе? e.q.
- Website.ProductsController класс для публичных частей и
- Website.Admin.ProductsController для раздела администратора? Как мне это настроить?