关闭弹出窗口时如何删除会话变量?

时间:2010-05-31 15:04:47

标签: asp.net javascript session-variables

我有一个弹出窗口,我在sessionvariable中存储一个arraylist,当点击关闭按钮(右上角的X)或表格中的cmd输入按钮我想删除包含我的arraylist的sessionvariable。我怎么能这样做?

弹出窗口目前由javascript关闭:

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

2 个答案:

答案 0 :(得分:0)

会话变量存储在服务器上,因此您需要通知服务器客户端发生了某些事情,并调用适当的函数来删除会话变量。

有几种方法可以做到这一点。

  1. 您可以向页面发出AJAX请求,页面方法or a custom HTTPHandler。如果你编写一个自定义的.ashx文件,你只需要对它的URL发出请求并让它删除会话变量。

  2. 关闭窗口时让您的页面进行回发。您可以通过在javascript中调用__doPostBack()或仅执行按钮点击或表单提交来手动触发回发。

  3. 如果可以,我会选择#1选项。

答案 1 :(得分:0)

我建议让javascript对WebMethod进行AJAX调用,以清除会话变量。