我正在处理网页网址路由。我想要两个相同的路由网址。参数,相同的模式和相同的URL但不同的路由名称。 我的路线在下面。
Routes.MapPageRoute("Route1", "{parameter1}/{parameter2}", "packages.aspx");
Routes.MapPageRoute("Route2", "{parameter1}/{parameter2}", "destination.aspx", false, null, null,new RouteValueDictionary { { "isDestination", "yes"} });
当我调用虚拟路径数据时,我只重定向写在全局文件之上的url。
VirtualPathData vpd =RouteTable.Routes.GetVirtualPath(null,
"Route1",
"parameter1", "parameter2");
VirtualPathData vpd =RouteTable.Routes.GetVirtualPath(null,
"Route2",
"parameter1", "parameter2");
Route1的Vpd返回路由。 如何为两个不同的页面构建两个URL?
答案 0 :(得分:1)
第一个选项:您使用route constraints来限制与特定路由匹配的浏览器请求。您可以使用正则表达式指定路由约束。
第二个选项:您可以使用常量参数来区分具有相同数字和路径的路线。参数类型。
例如:
Routes.MapPageRoute("Route1", "packages/{parameter1}/{parameter2}", "packages.aspx");
Routes.MapPageRoute("Route2", "destination/{parameter1}/{parameter2}", "destination.aspx", false, null, null,new RouteValueDictionary { { "isDestination", "yes"} });