2013-06-25 54 views
0

我在webforms應用程序中使用asp.net路由,我需要將新的url和舊版url映射到相同的路由。一個路徑來處理新的url和舊版url

本地主機/博客/?金融掃盲效能

本地主機/博客/金融知識效能

遺留的URL有查詢字符串和路由/ {塞的前一個問號}沒有選擇它。

我已經試過這樣的事情,沒有運氣

routes.MapPageRoute("blog-slug", _ 
         "blog/?{slug}", _ 
         "~/blogArticles/Default.aspx") 

這可能嗎? 在此先感謝。

回答

0

默認情況下,路由不會接受任何東西后?作爲頁面路由的一部分,因爲根據定義,將查詢字符串從URL中的資源中分離出來。可能工作的方法之一是

routes.MapPageRoute("blog-slug", _ 
        "blog/", _ 
        "~/blogArticles/Default.aspx") 

但「金融掃盲效能」的價值反而會是一個關鍵,因爲它是?X不是?蛞蝓= X。然而,因爲這是舊有網址,有可能已經存在,檢查查詢字符串鍵,而不是值,因爲最有活力的web表單傳統的URL看起來soemthing像

blog/?slug=x 

然後他們檢查要求你的代碼的某些部分。查詢字符串[ 「金屬塊」]。如果您的問題導致您遇到麻煩,您需要提供更多信息。

+0

這很有道理,我想我將不得不找出另一種方法來做到這一點。謝謝。 – user973671