2011-11-24 63 views
1

我想從C#中的url中刪除查詢字符串。我將使用來自其他頁面的查詢字符串重定向到此頁面,如http://www.something.com/details.aspx?id=100。 但狀態欄中的網址應該更改爲http://www.something.com/search.aspx如何刪除asp.net中的查詢字符串

我無法使用會話或「發佈」。我試圖實現URL重寫,但我真的不明白如何設置規則來刪除查詢字符串。

任何人都請幫助...

+0

重複的問題 - http://stackoverflow.com/questions/529551/how-can-i-remove-item-from-querystring-in-asp-net-using-c – coder

+0

@Kiran但OP也需要改變從詳細信息頁面名稱進行搜索。我認爲這個其他問題應該是有用的http://stackoverflow.com/questions/352343/changing-browsers-address-bar-without-refreshing – daniloquio

+0

@ daniloquio-是的我同意,我認爲他只是給了我們一個他想要的樣本與此類似。 – coder

回答

1

它不是一個規則刪除查詢字符串,但它重定向的實物(URL重寫),見。

if (this.Request.Path.Contains("/search.aspx")) 
    base.Context.RewritePath("/details.aspx?id=100"); 

您將此代碼設置爲Global.asax Application_BeginRequest方法。

當然,而不是Contains方法,你最好使用正則表達式。

此代碼意味着您將重用details.aspx,但在您的URL上使用search.aspx。因此,不要將用戶重定向到/details.aspx?id=100,而是直接將其發送到/search.aspx並完成,您不必將「查詢字符串」作爲不存在查詢字符串的字符串發送給用戶。