я получил боролся в такой проблеме, что, когда я иметь конфигурацию карты маршрута, как.NET MVC карта 4 маршрута и Html.Action
routes.MapRoute(
name: "Merchandise",
url: "Merchandise/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
я получил «hxxp: //site.com/Merchandise/Controller/Действие/1 "из @ Html.Action (« Действие »,« Контроллер », новый {Id =« 1 »}), где ожидалось« hxxp: //site.com/Controller/Action/1 ».
Если карта маршрута настроена на
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Merchandise",
url: "Merchandise/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
тогда я получил 404 при попытке в адрес, такой как «hxxp: //site.com/Merchandise/Controller» с товарами, будучи не контроллер ("hxxp: // site.com/Merchandise/Controller/Action/1 «ОК КТО). Как я могу решить это противоречие? Я хочу, чтобы «Merchandise» здесь выступал в роли категории, но не контроллера.
Товар в вашем случае можно назвать областью. Обратитесь к областям в ASP.NET MVC. – ckv