To facilitate multi-tab session states for one user without cluttering up the URL, do the following.
In your form load function, include:
If Not IsPostback Then
'Generate a new PageiD'
ViewState("_PageID") = (New Random()).Next().ToString()
End If
When you save something to your Session State, include the PageID:
Session(ViewState("_PageID").ToString() & "CheckBoxes") = D
Notes:
- As with session ID's in general, you cannot trust that malicious viewers will not change the SessionID / PageID. This is only a valid solution for an environment where all users can be trusted. Fortunately, ViewState does offer more protection than using a hidden input field.
- You will not have access to the PageID until the ViewState is restored upon PostBack. Therefore, you will not have access to the PageID in the page_init() handler.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…