如何组合两个控制器,然后在 mvc 中执行操作
How to Combine two controllers and then Action in mvc
我正在制作一个电子商务网站
家庭控制器
类别控制器
产品控制器
现在我想要的是当我点击 Categories 路由时应该是这样的
www.domain.com/Categories/
当我点击产品路线时应该是这样的
www.domain.com/Products/
当我购买手机、pendrive 或电视等产品时,路线应该是这样的
www.domain.com/Categories/Products/pendrive
只是因为 pendrive 来自 Products 而 Products 来自 Categories
所以我想结合两个控制器,这样我就可以获得所需的路线
尝试过类似的方法但没有成功
routes.MapRoute(
name: "Default1",
url: "Categories/{controller}/{action}/{id}",
defaults: new { controller = "Products", action = "Index", id = UrlParameter.Optional}
);
您可以像这样创建具有相同约束的路线:
routes.MapRoute(name: "Product",
url: "Categories/Product/{id}",
defaults: new { controller = "Products", action = "Index", id = UrlParameter.Optional});
只需确保在默认路由之前注册即可。
我正在制作一个电子商务网站
家庭控制器
类别控制器
产品控制器
现在我想要的是当我点击 Categories 路由时应该是这样的
www.domain.com/Categories/
当我点击产品路线时应该是这样的
www.domain.com/Products/
当我购买手机、pendrive 或电视等产品时,路线应该是这样的
www.domain.com/Categories/Products/pendrive
只是因为 pendrive 来自 Products 而 Products 来自 Categories 所以我想结合两个控制器,这样我就可以获得所需的路线
尝试过类似的方法但没有成功
routes.MapRoute(
name: "Default1",
url: "Categories/{controller}/{action}/{id}",
defaults: new { controller = "Products", action = "Index", id = UrlParameter.Optional}
);
您可以像这样创建具有相同约束的路线:
routes.MapRoute(name: "Product",
url: "Categories/Product/{id}",
defaults: new { controller = "Products", action = "Index", id = UrlParameter.Optional});
只需确保在默认路由之前注册即可。