2010-05-31 64 views
1

我有一個彈出窗口,當我點擊closebutton(右上角的X)或者表單中的cmd輸入按鈕時,我在sessionvariable中存儲了一個arraylist,我想刪除包含我的arraylist的sessionvariable。我怎樣才能做到這一點?如何在關閉彈出窗口時刪除sessionvariable?

彈出窗口目前由一個javascript關閉:

function cmdClose_onclick() { 
    self.close(); 
} 

回答

0

Session變量都存儲在服務器上,所以你需要告知事情發生在客戶端上的服務器,並調用適當的函數刪除會話變量。

有幾種方法可以做到這一點。

  1. 您可以對頁面進行AJAX請求,頁面方法or a custom HTTPHandler。如果你編寫一個自定義的.ashx文件,你可以簡單地向它的URL發出一個請求,並讓它刪除會話變量。

  2. 當你關閉窗口時,讓你的頁面做回發。您可以通過在JavaScript中調用__doPostBack()來手動觸發回發,或者只需執行按鈕單擊或表單提交。

如果可以,我會選擇#1。

+0

對於很多新手來說我選擇#1我會嘗試從我的函數cmdClose_onclick()中調用回發謝謝你一個非常好的answear! – 2010-05-31 19:32:34

0

我建議讓javascript調用一個WebMethod來清除會話變量。