2011-05-31 86 views
0

我有一個Javascript展開/摺疊菜單。當打開New Window時,會創建一個會話cookie來維護菜單的狀態(即Expanded或Collapse)。ASP.Net SessionID保留,同時打開新的瀏覽器

1.如果我們打開菜單的某個節點,它會保留cookie中的狀態。

2.但是當我們打開新的瀏覽器窗口,然後沒有新的會話,它得到了前面的會話,因此,菜單仍然顯示擴大。

3.但如果我們關閉所有的瀏覽器,那麼它工作正常,它會在這種情況下創建新的會話。

我需要打開第二個瀏覽器窗口或選項卡,但它必須具有不同的SessionID。從ASP.NET頁面打開新的瀏覽器窗口很容易,但它會共享相同的cookie,因此會與原始的SessionID共享。 我該怎麼做?

感謝您的幫助,

Jaydeep

回答

1

我需要打開一個瀏覽器窗口或標籤,但它必須有一個不同的SessionID

抱歉,這是不可能實現的。這就是瀏覽器的工作方式,您無法控制這種行爲。以Gmail爲例:您登錄到您的帳戶,然後打開另一個瀏覽器選項卡/窗口,並且您仍將登錄,因爲Cookie是在選項卡/窗口之間共享的。

所以你應該使用一些其他的存儲機制,如URL ID或隱藏字段,而不是Cookie。

2

根據我的理解,你不應該使用會話ID來顯示你的表單中的菜單的邏輯。取而代之,你可以使用隱藏字段值或查詢字符串值。

0

要在不同瀏覽器選項卡中使用不同會話的可能性,您可以使用無Cookie會話。你可以在MSDN閱讀。

相關問題