如要实现列表中地址全路径“bubufx-11-2.html”,在首次进入时,使用短路径“bubufx.html”,只有再次href后才显示全路径“bubufx-11-2.html”,下面使用路由规则来实现。
//"/bubufx-11-2.html",eID=11,pageIndex=2 routes.MapRoute("bubufx", "{action}-{eID}-{pageIndex}.html", new { controller = "bubufx", action = "Index" }); //"/bubufx-11.html",eID=11,pageIndex默认是1 routes.MapRoute("bubufx_No_pageIndex", "{action}-{eID}.html", new { controller = "bubufx", action = "Index", eID = 1, pageIndex = 1 }); //"/bubufx.html",eID默认是1,pageIndex默认是1 routes.MapRoute("bubufx_No_eID_pageIndex", "{action}.html", new { controller = "bubufx", action = "Index", eID = 1, pageIndex = 1 });
完整方案:
routes.MapRoute("bubufx_wuAction", "{controller}.html", new { controller = "home", action = "index", id = "" });//没有Action的路由规则 routes.MapRoute("bubufx_wuID", "{controller}/{action}.html", new { controller = "home", action = "index", id = "" });//没有ID的路由规则 routes.MapRoute("Default", "{controller}/{action}/{id}.html", new { controller = "home", action = "index", id = "" });//默认匹配 routes.MapRoute("Root", "", new { controller = "home", action = "index", id = "" });//根目录路由规则