Asp.net
asp.net - 會話 - 多個瀏覽器選項卡 - 不同的會話?
我想為每個瀏覽器選項卡維護一個會話狀態。
在 ASP.NET 中這很容易(甚至可能)嗎?
範例:使用者在 Firefox 中按 Ctrl-T 5 次並在每個選項卡中訪問該站點。我希望每個選項卡在伺服器上都有自己的會話狀態
為了方便一個使用者的多選項卡會話狀態而不使 URL 混亂,請執行以下操作。
在您的表單載入功能中,包括:
If Not IsPostback Then 'Generate a new PageiD' ViewState("_PageID") = (New Random()).Next().ToString() End If當您將某些內容保存到會話狀態時,請包含 PageID:
Session(ViewState("_PageID").ToString() & "CheckBoxes") = D備註:
- 與一般的會話 ID 一樣,您不能相信惡意查看者不會更改 SessionID / PageID。對於所有使用者都可以信任的環境,這只是一個有效的解決方案。幸運的是,ViewState 確實提供了比使用隱藏輸入欄位更多的保護。
- 在 PostBack 恢復 ViewState 之前,您將無法訪問 PageID。因此,您將無法訪問 page_init() 處理程序中的 PageID。