Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.net Web表单-页面路由命名冲突_Asp.net_Url_Routing_Reroute - Fatal编程技术网

ASP.net Web表单-页面路由命名冲突

ASP.net Web表单-页面路由命名冲突,asp.net,url,routing,reroute,Asp.net,Url,Routing,Reroute,我正在将一个旧项目从asp 4.0重建为4.52(移动到引导)。 这是一个Web表单网站,不是MVC。 我最初的版本是用VS2012制作的,现在是用VS2015制作的,它有一点变化,例如默认添加了RouteConfig类 在V4.0中,我的url格式通常如下所示: domain.com/nike-shoes domain.com/nike-shoes/nike-air-pegasus-21-1001 在我的新网站上,由于“/nike shoes”的口是心非,它不起作用 调用“domain.com

我正在将一个旧项目从asp 4.0重建为4.52(移动到引导)。 这是一个Web表单网站,不是MVC。 我最初的版本是用VS2012制作的,现在是用VS2015制作的,它有一点变化,例如默认添加了RouteConfig类

在V4.0中,我的url格式通常如下所示:

domain.com/nike-shoes

domain.com/nike-shoes/nike-air-pegasus-21-1001

在我的新网站上,由于“/nike shoes”的口是心非,它不起作用

调用“domain.com/nike shoes/nike-air-pegasus-21”只需调用“domain.com/nike shoes”

以下是“新”代码:

旧代码RegisterRoutes Sub相同,但应用程序启动不同(没有RouteConfig):`

以前的版本还需要从/page.aspx重新路由到/page,现在默认情况下是这样。因为我不想做重定向保持当前的url格式是非常重要的


非常感谢

我认为每个路由名称都需要有不同的名称,例如:

Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.MapPageRoute("Nike-Shoes", "nike-shoes", "~/nike-shoes.aspx")
    routes.MapPageRoute("Nike-Shoes-2", "nike-shoes/{shoe-id}", "~/display-shoe.aspx")
End Sub
问题已解决-

更改:

RouteConfig.RegisterRoutes(RouteTable.Routes)
BundleConfig.RegisterBundles(BundleTable.Bundles)
RegisterRoutes(RouteTable.Routes)
致:


谢谢

您是否尝试过颠倒注册顺序?事实上是的,但没有帮助。。。谢谢你是正确的,我有不同的名字-我只是在这里做了一个复制粘贴错误(我现在修复了)。。。还有其他建议吗?谢谢
Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.MapPageRoute("Nike-Shoes", "nike-shoes", "~/nike-shoes.aspx")
    routes.MapPageRoute("Nike-Shoes-2", "nike-shoes/{shoe-id}", "~/display-shoe.aspx")
End Sub
RouteConfig.RegisterRoutes(RouteTable.Routes)
BundleConfig.RegisterBundles(BundleTable.Bundles)
RegisterRoutes(RouteTable.Routes)
 RegisterRoutes(RouteTable.Routes)
    RouteConfig.RegisterRoutes(RouteTable.Routes)
    BundleConfig.RegisterBundles(BundleTable.Bundles)