3

我正在处理网页 url 路由。我想要两个相同的路由 url。参数,相同的模式和相同的 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?

4

1 回答 1

1

第一个选项:您使用路由约束来限制与特定路由匹配的浏览器请求。您可以使用正则表达式来指定路由约束。

第二种选择:您可以使用常量参数来区分具有相同数量和类型参数的路线。

例如。:

Routes.MapPageRoute("Route1", "packages/{parameter1}/{parameter2}", "packages.aspx");
Routes.MapPageRoute("Route2", "destination/{parameter1}/{parameter2}", "destination.aspx", false, null, null,new RouteValueDictionary { { "isDestination", "yes"} });
于 2013-02-01T07:55:42.203 回答