Ответ 1
Чтобы облегчить состояние сеанса нескольких вкладок для одного пользователя без загромождения URL-адреса, выполните следующие действия.
В вашей функции загрузки формы:
If Not IsPostback Then
'Generate a new PageiD'
ViewState("_PageID") = (New Random()).Next().ToString()
End If
Когда вы сохраняете что-то в своем состоянии сеанса, укажите PageID:
Session(ViewState("_PageID").ToString() & "CheckBoxes") = D
Примечания:
- Как и в случае с идентификатором сеанса, вы не можете верить, что злонамеренные зрители не изменят SessionID/PageID. Это только допустимое решение для среды, где всем пользователям можно доверять. К счастью, ViewState предлагает больше защиты, чем использование скрытого поля ввода.
- У вас не будет доступа к PageID, пока ViewState не будет восстановлен после PostBack. Поэтому у вас не будет доступа к идентификатору страницы в обработчике page_init().