從 HTML 模式或無模式對話框可能沒有打開同一進程中 InternetExplorer 窗口中打開,因此模式窗口中調用 window.open()方法打開具體頁面,可能造成session 丟失.例如:主窗體a.aspx,點擊按鈕時採用window.showModalDialog,打開彈出窗體b.aspx,b.aspx爲模式窗體,然後在b.aspx窗體中再用window.open方式打開窗體c.aspx時,session會丟失。
解決方法:
思路: 調用 a.aspx window 的 open 方法打開
a.aspx 中window.showModalDialog 調用方法傳遞 dialogArguments屬性爲 window 對象
window.showModalDialog("b.aspx",window,"....") ;
b.aspx 中
var openobj = window;
if(typeof(window.dialogArguments) == "object")
{
openobj = window.dialogArguments;
}
openobj.open("c.aspx");
這樣處理 c.aspx中 Session就不會丟失了
彈出頁面過多Session丟失
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.