我有一个弹出窗口,我在sessionvariable中存储一个arraylist,当点击关闭按钮(右上角的X)或表格中的cmd输入按钮我想删除包含我的arraylist的sessionvariable。我怎么能这样做?
弹出窗口目前由javascript关闭:
function cmdClose_onclick() {
self.close();
}
答案 0 :(得分:0)
会话变量存储在服务器上,因此您需要通知服务器客户端发生了某些事情,并调用适当的函数来删除会话变量。
有几种方法可以做到这一点。
您可以向页面发出AJAX请求,页面方法or a custom HTTPHandler
。如果你编写一个自定义的.ashx文件,你只需要对它的URL发出请求并让它删除会话变量。
关闭窗口时让您的页面进行回发。您可以通过在javascript中调用__doPostBack()
或仅执行按钮点击或表单提交来手动触发回发。
如果可以,我会选择#1选项。
答案 1 :(得分:0)
我建议让javascript对WebMethod进行AJAX调用,以清除会话变量。