如何在mvc中组合两个控制器然后组合Action

时间:2015-08-18 20:29:12

标签: asp.net-mvc routes asp.net-mvc-controller

我正在建立一个电子商务网站 家庭控制器
类别控制器
产品控制器

现在我想要的是当我点击类别路线应该是这样的

www.domain.com/Categories/

当我点击产品路线应该是这样的

www.domain.com/Products/

当我选择手机,彩色电视或电视等产品时,路线应该像

一样
 www.domain.com/Categories/Products/pendrive

仅仅因为pendrive来自产品而产品来自类别 所以我想结合两个控制器,这样我就可以获得所需的路线

尝试过这样的事情,但没有成功

routes.MapRoute(
                name: "Default1",
                url: "Categories/{controller}/{action}/{id}",
                defaults: new { controller = "Products", action = "Index", id = UrlParameter.Optional}
            );

1 个答案:

答案 0 :(得分:0)

您可以创建具有相同约束的路径,如下所示:

routes.MapRoute(name: "Product",
                url: "Categories/Product/{id}",
                defaults: new { controller = "Products", action = "Index", id = UrlParameter.Optional});

确保在默认路线之前注册。