【发布时间】:2017-11-06 07:03:21
【问题描述】:
我正在将一个旧项目从 asp 4.0 重建为 4.52(转向引导程序)。 这是一个 Web 表单网站,而不是 MVC。 我的原始版本是用 VS2012 制作的,现在它是用 VS 2015 制作的,例如默认添加 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”
这里是“新”代码:
Sub Application_Start(sender As Object, e As EventArgs)
RouteConfig.RegisterRoutes(RouteTable.Routes)
BundleConfig.RegisterBundles(BundleTable.Bundles)
RegisterRoutes(RouteTable.Routes)
End Sub
Sub RegisterRoutes(ByVal routes As RouteCollection)
routes.MapPageRoute("Nike-Shoes", "nike-shoes", "~/nike-shoes.aspx")
routes.MapPageRoute("Nike-Shoe", "nike-shoes/{shoe-id}", "~/display-shoe.aspx")
End Sub
旧代码 RegisterRoutes Sub 相同,但 Application_Start 不同(没有 RouteConfig):`
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
RegisterRoutes(RouteTable.Routes)
End Sub
以前的版本还需要从 /page.aspx 重新路由到 /page,现在是默认设置。由于我不想进行重定向,因此保持当前 url 格式非常重要。
非常感谢!
【问题讨论】:
-
您是否尝试过颠倒注册顺序?
-
实际上是的,但没有帮助...谢谢!
标签: asp.net url routing reroute