當頁面顯示時,我需要隱藏查詢字符串。 試了幾個例子,應該工作,但他們不適合我。 基於母版頁(不知道這有什麼區別)如何在頁面填充後隱藏查詢字符串
嘗試#1
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim isreadonly As PropertyInfo = GetType(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance Or BindingFlags.NonPublic)
' make collection editable
isreadonly.SetValue(Me.Request.QueryString, False, Nothing)
Me.Request.QueryString.Clear()
End Sub
嘗試#2
Private Function BuildQueryString(ByVal useKeyValues As NameValueCollection, ByVal RemoveKeys As List(Of String)) As String
Dim Key As String
Dim retQueryString As String = ""
Dim AddKeyValue As String
'Step through each key value pair
For Each Key In useKeyValues.AllKeys
'if key isn't in the RemoveKeys list then add to the new querystring
If Not RemoveKeys.Contains(Key) Then
AddKeyValue = Key + "=" + useKeyValues(Key)
If String.IsNullOrEmpty(retQueryString) Then
retQueryString += "?" + AddKeyValue
Else
retQueryString += "&" + AddKeyValue
End If
End If
Next
Return retQueryString
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim SearchValues As NameValueCollection
Dim KeysToRemove As New List(Of String)
Try
SearchValues = Request.QueryString
'figure out what keys need to be removed and add one or more
KeysToRemove.Add("OrderId")
If SearchValues.Count > 0 Then
'writes original url with querystring
Response.Write(Request.RawUrl + "<br><Br>")
'writes new url with new querystring
Response.Write(Request.Url.AbsolutePath + BuildQueryString(SearchValues, KeysToRemove))
Else
'For example redirects to this page adding querystring
Response.Redirect("NewPage1a.aspx?SomeKey=SomeValue&SomeOtherKey=AnotherValue&OrderId=2")
End If
Catch ex As Exception
End Try
End Sub
在我的客戶端頁面什麼我做錯了極大的任何建議讚賞。
你究竟在做什麼,爲什麼?修改* request *的查詢字符串聽起來不對,因爲您爲什麼需要這樣做?只是修改* response *的查詢字符串是沒有意義的,因爲沒有一個。 – David
請只包含您的問題的具體代碼,並更詳細地解釋您正在嘗試解決的問題,例如現在正在發生的事件以及您希望發生的事件的順序。 –
您可以使用重定向來隱藏查詢字符串。即將查詢參數放入會話中,並將請求發送到處理請求的新頁面。這往往有一個副作用,使您的應用程序有狀態,這是不可取的 – Tibrogargan