我想轉到其他URL並將參數作爲查詢字符串傳遞。該值包含一個&符號。我可以使用Response.Redirect來做到這一點。將包含與符號的值傳遞給其他頁面
Response.Redirect("http://www.mysite.com/?Value=" + Server.UrlEncode("This & That"))
不過,我更喜歡使用LinkButton控件的PostBackUrl屬性要做到這一點,因爲我想通過額外的信息,除了在URL中的價值。如果我嘗試
<asp:LinkButton id="ID" runat="server" PostBackUrl="http://www.mysite.com?Value=This+%26+That"/>
,並單擊IE瀏覽器的鏈接,然後我看到http://www.mysite.com?Value=This+%26+That作爲新的URL,並且可以使用的Request.QueryString [「價值」]獲得的價值。這工作正常。
但是,如果我使用Chrome或Firefox,那麼新的URL是http://www.mysite.com?Value=This+&+That,我得到「This」作爲值而不是「This & That」。看起來,在包含LinkButton的頁面上的IE和其他瀏覽器中生成不同的JavaScript。我能做些什麼來解決這個問題?爲什麼IE和其他瀏覽器的區別?
如果我使用HyperLink控件的NavigateUrl屬性,那麼我會在所有我試過的瀏覽器中獲得正確的URL。
你通過點擊FF和Chrome檢查?有可能這就是懸停預覽中的鏈接_display_。 – Oded 2012-01-09 11:24:31
爲什麼你要使用該網址....只需使用'http://www.mysite.com?Value = This +&+ That'。它也可以運行 – 2012-01-09 11:25:26
@Oded我點擊鏈接並進入下一頁後,檢查了FF和Chrome中出現的鏈接。此外,我查看了新頁面上的Request.QueryString [「Value」],並發現它在使用這些瀏覽器時返回「This」,但它爲IE返回「This&That」。這並不奇怪。 IE的HTML爲my text。 – mbnovick 2012-01-10 09:40:34