我的旧asp.net页面有这种URL
本地主机/产品/这-IS-的-NAME的最产品/ Item123.aspx
其中产品ID为123,我将获取然后将其传递给路由引擎以从数据库中获取正确的数据然后显示页面。
localhost / Product / This-The-Name-Of-The-Product / Item456.aspx
将获得456的产品ID。
我正在重写MVC中的网站,我想知道是否有人可以告诉我如何做一个路由以便它可以向后兼容并且localhost / Product / This -The-The-Name-Of-The-产品/ Item123.aspx会去 本地主机/产品/ 123
我正在使用MVC 5 BTW。
答案 0 :(得分:0)
你可以一起使用2条路线:
routes.MapRoute( //for localhost/Product/This-Is-The-Name-Of-The-Product/Item456.aspx
name: "",
url: "Product/{ProductName}/item{id}.aspx",
defaults: new { controller = "Product", action = "Index", id= UrlParameter.Optional }
);
routes.MapRoute( //this url for localhost/Product/123
name: "",
url: "Product/{id}",
defaults: new { controller = "Product", action = "Index", id = UrlParameter.Optional }
);