彈出頁面過多Session丟失

 從 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就不會丟失了 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章