嗨,我需要刪除查詢字符串,當用戶點擊一個特定的LinkButton。 因此,例如,如果查詢字符串是http://UserProfileManager.com?UserID=1234 ....當用戶點擊Linkbutton時,我希望URL爲http://UserProfileManager.com。問題是,所有內容都在一個頁面上,我使用asp:panel來顯示和隱藏網頁的不同區域。從asp.net中刪除查詢字符串
任何想法,將不勝感激。
嗨,我需要刪除查詢字符串,當用戶點擊一個特定的LinkButton。 因此,例如,如果查詢字符串是http://UserProfileManager.com?UserID=1234 ....當用戶點擊Linkbutton時,我希望URL爲http://UserProfileManager.com。問題是,所有內容都在一個頁面上,我使用asp:panel來顯示和隱藏網頁的不同區域。從asp.net中刪除查詢字符串
任何想法,將不勝感激。
您有幾種選擇:
1)在後面的代碼,只需設置LinkButton的URL,以較短的地址,如果查詢字符串包含一個「用戶名」鍵:
if (Request.QueryString["UserID"] != null) {
this.LinkButton.PostBackUrl = "http://UserProfileManager.com";
} else {
// other address
}
2)發送UserID在隱藏字段中而不是查詢字符串。
3)分離你的視圖和編輯頁面 - 把所有內容放在一個* .aspx中可能會導致更多的麻煩而不值得。
查看請求對象 - 雖然我不記得確切的屬性,但有一些行方案(這將返回「http://」) - 將會有一個或組合,會給你什麼你需要。
進一步的研究 - 查看Request.Url屬性。然後剝離查詢字符串。我無法在uri/uricomponent類中看到確切的方法,以準確地爲您提供您正在尋找的內容,但它不應該那麼難。
在頁面加載時,您可以將查詢字符串提取到隱藏文本框中。
當用戶點擊該按鈕清除文本框
如果用戶導航離開在文本框中使用的串並追加查詢字符串的URL。
我希望這有助於 SP
你不能真正從URL中移除一個查詢字符串。我的意思是說沒有可用的.remove()方法。 如果你仍然想這樣做,你將不得不使用.substring()方法並手動完成。
只是一個可能證明有幫助的提示: 如果您使用QueryString值在同一頁面上維護不同的狀態,那麼我寧願建議您將這些值保留在頁面上的ViewState中並相應地進行更改。這樣你的URL將保持乾淨,用戶不會傷害你的流量,並且工作得很好。
保重!
這是一個dag gumm好主意。 – user279521 2010-06-02 12:42:25
我想在隱藏字段中發送UserID,但用戶從gridview中選擇要編輯的記錄(編輯爲超鏈接),其中DataNavigateUrlFields值設置爲UserID,DataNavigateUrlFormatString設置查詢字符串。我如何處理設置UserID到GridView中的隱藏字段? – user279521 2010-06-02 13:21:52
把自己從'GridView'控件中解放出來很難 - 通常只需一分錢,一英鎊。既然是這種情況,我建議使用選項1或3. – 2010-06-02 13:35:07
選項1工作。但是,它需要在LinkButton的屬性窗口中設置url;非常感謝。 – user279521 2010-06-02 14:00:59