2013-07-21 172 views
2

幫助,如何重寫查詢字符串URL

假設我有一個網站:http://mysite/test.aspx

和我通過這樣的查詢字符串:http://mysite/test.aspx?id=1234

我如何更改URL中,如地址欄這個:http://mysite/1234 和我怎樣才能得到1234的價值?我仍然可以使用Request.QueryString["id"]嗎?

我正在使用C#asp.net。

非常感謝你們!

回答

0

只要使用的Request.QueryString [「身份證」]如果你想從你的http://mysite/test.aspx?id=1234網址更改爲http://mysite/1234做到以下幾點:

如果您在使用ASP .NET 4,然後做這樣的事情:

routes.MapPageRoute("", 
    "mysite/1234", 
    "~/mysite/test.aspx?id=1234"); 

如果您使用ASP .NET 3.5或更低嘗試這樣做:

Browser.Url = new System.Uri("http://mysite/1234", System.UriKind.Absolute); 
+0

我應該在哪寫這行? browser.url –

+0

routes.MapPageRoute(「」, 「mysite/1234」, 「〜/ mysite/test.aspx?id = 1234」);在哪裏放這條線?你會怎麼稱呼它?你能發佈一個示例代碼嗎?非常感謝先生 – Lightstoner

0

你需要什麼叫做URL重寫。根據您的應用程序和URL的複雜性,有多種方法可以完成此操作。

我在幾年前重寫了URL。我們有一個複雜的系統,查詢字符串值更加複雜。

我使用Helicons ISAPI引擎進行重寫。無論是付費版本還是免費版本都可以使用。如果您的應用程序需要它,請仔細查看。儘管你需要寫很多很多很多的RegEx。但是,總體令人驚歎的工具

如果你要求很簡單(即以rewite幾頁),您可以免費使用的庫如urlrewriter這可能會幫助您,讓您的生活更輕鬆,如果你想改寫爲一次性多頁。

在對重寫URL最後,非常簡單和容易的方法:從斯科特谷閱讀本教程,你會明白,你需要做什麼:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

如果你想那些漂亮當你點擊帶有查詢字符串值的超鏈接時,它自己生成的URL,你一定要在IIS級別工作(URL重寫庫會爲你做)。

我本來可以發佈一些示例代碼來做到這一點,但我認爲從Scott Gu上述工具和教程將幫助您瞭解您需要做什麼,並以更好的方式。