2010-06-02 139 views

回答

4

您有幾種選擇:

1)在後面的代碼,只需設置LinkBut​​ton的URL,以較短的地址,如果查詢字符串包含一個「用戶名」鍵:

if (Request.QueryString["UserID"] != null) { 
    this.LinkButton.PostBackUrl = "http://UserProfileManager.com"; 
} else { 
    // other address 
} 

2)發送UserID在隱藏字段中而不是查詢字符串。

3)分離你的視圖和編輯頁面 - 把所有內容放在一個* .aspx中可能會導致更多的麻煩而不值得。

+0

我想在隱藏字段中發送UserID,但用戶從gridview中選擇要編輯的記錄(編輯爲超鏈接),其中DataNavigateUrlFields值設置爲UserID,DataNavigateUrlFormatString設置查詢字符串。我如何處理設置UserID到GridView中的隱藏字段? – user279521 2010-06-02 13:21:52

+0

把自己從'GridView'控件中解放出來很難 - 通常只需一分錢,一英鎊。既然是這種情況,我建議使用選項1或3. – 2010-06-02 13:35:07

+0

選項1工作。但是,它需要在LinkBut​​ton的屬性窗口中設置url;非常感謝。 – user279521 2010-06-02 14:00:59

0

查看請求對象 - 雖然我不記得確切的屬性,但有一些行方案(這將返回「http://」) - 將會有一個或組合,會給你什麼你需要。

進一步的研究 - 查看Request.Url屬性。然後剝離查詢字符串。我無法在uri/uricomponent類中看到確切的方法,以準確地爲您提供您正在尋找的內容,但它不應該那麼難。

0

在頁面加載時,您可以將查詢字符串提取到隱藏文本框中。

當用戶點擊該按鈕清除文本框

如果用戶導航離開在文本框中使用的串並追加查詢字符串的URL。

我希望這有助於 SP

1

你不能真正從URL中移除一個查詢字符串。我的意思是說沒有可用的.remove()方法。 如果你仍然想這樣做,你將不得不使用.substring()方法並手動完成。

只是一個可能證明有幫助的提示: 如果您使用QueryString值在同一頁面上維護不同的狀態,那麼我寧願建議您將這些值保留在頁面上的ViewState中並相應地進行更改。這樣你的URL將保持乾淨,用戶不會傷害你的流量,並且工作得很好。

保重!

+0

這是一個dag gumm好主意。 – user279521 2010-06-02 12:42:25