zoukankan      html  css  js  c++  java
  • Web系统中关于Postback与页面离开的分辨

        大家在使用Asp.net开发应用系统时,有时会存在这样的场景,当页面离开时需要清空Session等等一系列的后序操作。

        如果大家使用后台代码清空Session,那么当页面离开时是不会Postback页面的,问题就出在这里,那么我们只能从前台入手了,可以使用前台事件window.onunload,没有问题,我们继续,当我们正常的载入Asp.Net页面,点击一个Button,页面PostBack之前每次都会触发onunload事件,那么我们如何才能在前台利用onunload事件分析出在什么情况下是postback,什么情况下是离开呢?

    上代码

     1 <script type="text/javascript">
     2     var isSubmit = false;
     3     $(document).ready(function () {
     4         document.forms[0].onsubmit = SubmitFun;
     5         window.onunload = CheckAction;
     6     });
     7 
     8     function SubmitFun()
     9     {
    10         isSubmit = true;
    11     }
    12 
    13     function CheckAction() {
    14         if (!isSubmit) {
    15             alert("is leave");
    16             //to do 
    17             //for example use the ajax invoke service method to clean session 
    18         }
    19         else {
    20             alert("is submit");
    21             //to do
    22         }
    23     }
    24 </script>

        我们结合使用window.onunloadform.onsubmit两个事件来完成分辨,当提交一个form时,触发onsubmit事件,我们在这个事件处理方法中,将isSubmit置为true,在onunload事件中,根据isSubmit去分辨是提交页面还是页面离开,由于onunload事件总是在onsubmit事件之后执行,所以可以保证得到正确的结果。

        在注释处我们可以添加自己想要的代码,例如使用ajax调用后台方法等等…..

    /Files/zhb/WebApplication1.rar

  • 相关阅读:
    SPI(1)——Documentation/spi/spi_summary.txt翻译
    TCP协议详解(TCP报文、三次握手、四次挥手、TIME_WAIT状态、滑动窗口、拥塞控制、粘包问题、状态转换图)
    Linux设备树(3)——Linux内核对设备树的处理
    Linux设备树(2)——设备树格式和使用
    [转]Android的taskAffinity
    [转]深入了解iPad上的MouseEvent
    NG2入门
    TypeScript 素描
    TypeScript 素描
    TypeScript 素描
  • 原文地址:https://www.cnblogs.com/zhb/p/1783250.html
Copyright © 2011-2022 走看看