我需要像这样为URL定义MVC路由:
http://localhost/RealSuiteApps/RealHelp/-1/Detail/BRK18482020
其中:
详细信息 - 是控制器名称
我需要使用orderId参数转到DetailController,Index操作。
我试过了:
routes.MapRoute(
name: "Detail",
url: "Detail/{id}",
defaults: new { clientid = "-1", controller = "Detail", action = "Index", id = UrlParameter.Optional }
);
但是我收到一条消息“找不到页面”。 我在这里缺少什么?
答案 0 :(得分:1)
假设DetailController操作
public ActionResult Index(int clientId, string orderId) { ... }
然后路由将映射为
routes.MapRoute(
name: "Detail",
url: "{cientId}/Detail/{orderId}",
defaults: new { clientid = "-1", controller = "Detail", action = "Index" }
);
请注意,这也应该在任何默认路由之前注册。