没有控制器名称的路由

时间:2011-05-24 13:02:10

标签: asp.net-mvc-3

我有几个控制器, 一个让计算机控制器说 它适用于笔记本电脑,桌面小工具 我想有页面名称:www.MyDomain / laptop(等等) 一个人说电子控制器 它有动作电视,DVD,(等等) 我想有页面名称:www.MyDomain / TV(等等) 没有指定控制器? 在我无法编辑之前,我不明白我的问题发生了什么 (我希望管理员将其删除)

2 个答案:

答案 0 :(得分:4)

您可以通过指定路径约束来执行此操作:

routes.MapRoute(
    "Computers",
    "{name}",
    new { controller = "Computers", action = "Index", name = UrlParameter.Optional },
    new { page = "laptop|desktop" }
);

routes.MapRoute(
    "Gadgets",
    "{name}",
    new { controller = "Electronic", action = "Index", name = UrlParameter.Optional },
    new { page = "tv|dvd" }
);

现在/laptop和/桌面将路由到IndexComputersController的{​​{1}}操作,/tv/dvd路由到Index } GadgetsController的行动。

答案 1 :(得分:0)

在Global.asax.cs中:

routes.MapRoute(
    "ViewLaptop", // Route name
    "/laptop", // URL with parameters
    new { controller = "Computers", action = "Laptop" } // Parameter defaults
);

这应该这样做。