我正在從asp 4.0重建一箇舊項目到4.52(移動到引導程序)。 這是一個Web Forms網站,而不是MVC。 我的原始版本是用VS2012製作的,現在它與VS 2015有點相似,例如默認添加了RouteConfig類。ASP.net Web窗體 - 頁面路由命名衝突
在V4.0我的網址形成用於如下:
domain.com/nike-shoes
domain.com/nike-shoes/nike-air-pegasus-21-1001
在我的新網站,它不工作,因爲「/ nike鞋」的重複。
呼喚 「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子是相同的,但的Application_Start是不同的(沒有RouteConfig):`
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
RegisterRoutes(RouteTable.Routes)
End Sub
以前版本也需要從/page.aspx重新路由到/頁現在是默認。由於我不想做重定向,因此保持當前網址的形成非常重要。
非常感謝!
您是否嘗試過扭轉註冊順序? – mason
其實是的,它沒有幫助...謝謝! – user1436942