2013-04-09 214 views
0

我傳遞的網址如下「和」 ...獲取查詢字符串參數值已經在它的C#

Response.Redirect("~/all-media/books/?serachtext=on&off"); 

其中serachtext是唯一的參數。所以,當我按照如下方式訪問這個參數時,它只給我「on」作爲值。

Request.QueryString["searchtext"] 

那麼,我該如何解決這個問題呢?

回答

5

這不起作用。該&符號需要進行URL編碼。

和號的URL編碼值爲%26。所以你可以做兩種:

一)

Response.Redirect("~/all-media/books/?serachtext=on%26off"); 

或b)

Response.Redirect("~/all-media/books/?serachtext=" + HttpUtility.UrlEncode("on&off")); 
+0

我編碼替換與%26的網址,但當我嘗試通過Request.QueryString [「serachtext」]訪問此參數時,它只給出「on」 – 2013-04-09 06:18:39

+0

@hetalgala您正在做一些不正確的事情。我只是試了一下,它完美的工作。你必須告訴我們你在做什麼。 – 2013-04-09 06:20:42

+0

好吧,讓我再試一次... – 2013-04-09 06:23:40

0

你應該編碼,放在查詢字符串值:

Response.Redirect("~/all-media/books/?searchtext=" + Server.UrlEncode("on&off")); 

或者手動操作:

Response.Redirect("~/all-media/books/?searchtext=on%26off"); 
+0

做了同樣的重定向後,當我想訪問值作爲Request.QueryString [「serachtext」]它打破附近&..即它只返回「on」.. – 2013-04-09 06:35:12

+0

@hetalgala:然後當您更新代碼時出錯。還要注意,你正在混合'searchtext'和'serachtext',所以檢查拼寫。 – Guffa 2013-04-09 06:43:02

+0

拼寫是正確的..想補充說,網址變成,〜/所有媒體/書籍/?serachtext =上+%26 +關..因爲我們有網址重寫規則來取代+ – 2013-04-09 06:56:40

相關問題