asp.net - asp.net 网络路由中两个页面的相同 url

标签 asp.net

我正在研究网页 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?

最佳答案

第一个选项:您使用 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"} });

关于asp.net - asp.net 网络路由中两个页面的相同 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14641784/

相关文章:

c# - 高级自定义多语言 URL 处理/角色和成员资格 LoginUrl

asp.net - 使用 LINQ 从列表中选择不同的值

c# - 具有默认值的可空属性的自定义控件

c# - 将字符串解析为对象

asp.net - 将文件从浏览器拖放到桌面/应用程序

当页面上有大量文本框时,ASP.Net 文本框值在回发期间丢失

c# - Lambda 用法让我感到困惑

javascript - 如何获取从源地到目的地的所有纬度和经度

c# - 使用 Agility Pack 设置外部加载网页的文本框内部文本

asp.net - 生成大型Excel电子表格时出现OutOfMemoryException