所以我正在开发一个 MVC 4 应用程序。我的问题是对于某个控制器,Url 可以是http://domain/category/clothing/1256
,也可以是http://domain/category/clothing/shirts/formal/128
'. 如您所见,url 的深度发生了变化,但都必须路由到类别控制器。
由于不知道 url 的最大部门,我不能使用 Routeconfig,因为我不知道参数什么时候来。
routes.MapRoute(
name: "Category",
url: "Category/{ignore}/{id}/{SubCatId}/{SubSubCatId}",
defaults: new { controller = "Category", action = "Index", CatId = UrlParameter.Optional, SubCatId = UrlParameter.Optional, SubSubCatId = UrlParameter.Optional },
namespaces: new[] { "CSPL.B2C.Web.Controllers" },
constraints: new { id = @"\d+" }
);
上面的代码将不起作用,因为它只占一个级别。关于如何实现这一目标的任何想法
类别控制器的Index方法
public ActionResult Index(string id, string SubCatId, string SubSubCatId)
{
return view();
}