繁体   English   中英

如何在asp.net中的浏览器关闭或后退按钮上调用模态窗口?

[英]How to call a modal window on browser close or back button in asp.net?

我的页面上有一个back button 在代码执行back单击该back button

        PageInformation InfoView = new PageInformation ();

        InfoView = (PageInformation )ViewState["PBLSave"];

        if (txtValidFPGTE18MQ1.Text != InfoView.FPGTE18.Q1.ToString() || txtValidFPGTE18MQ2.Text != InfoView.FPGTE18.Q2.ToString()
            || txtValidFPGTE18MQ3.Text != InfoView.FPGTE18.Q3.ToString() || txtValidFPGTE18MQ4.Text != InfoView.FPGTE18.Q4.ToString()
            || txtValidFPGTE18MQ5.Text != InfoView.FPGTE18.Q5.ToString() || txtValidFPGTE18MQ6.Text != InfoView.FPGTE18.Q6.ToString())
        {
            mdlPopupExtender.Show();
        }
        else
        {
            redirectUrl = "../UI/Summary_Page.aspx";
            Response.Redirect(redirectUrl);
        }

这里的mdlPopupExtender是我定制的模态窗口。 我想执行整个代码,并在click浏览器close[X]和浏览器后退按钮时显示此模态窗口。 我该怎么做呢?

假设函数名是RunOnClose

在CS文件中

[System.Web.Services.WebMethod()]
public static void RunOnClose()
        {
            PageInformation InfoView = new PageInformation ();

        InfoView = (PageInformation )ViewState["PBLSave"];

        if (txtValidFPGTE18MQ1.Text != InfoView.FPGTE18.Q1.ToString() || txtValidFPGTE18MQ2.Text != InfoView.FPGTE18.Q2.ToString()
            || txtValidFPGTE18MQ3.Text != InfoView.FPGTE18.Q3.ToString() || txtValidFPGTE18MQ4.Text != InfoView.FPGTE18.Q4.ToString()
            || txtValidFPGTE18MQ5.Text != InfoView.FPGTE18.Q5.ToString() || txtValidFPGTE18MQ6.Text != InfoView.FPGTE18.Q6.ToString())
        {
            mdlPopupExtender.Show();
        }
        else
        {
            redirectUrl = "../UI/Summary_Page.aspx";
            Response.Redirect(redirectUrl);
        }
        }

在aspx文件中

<script type="text/javascript">
                     window.onbeforeunload = function () {
                         $.ajax({

                             type: "POST",
                             url: "WebForm1.aspx/RunOnClose",
                             data: "{}",
                             contentType: "application/json; charset=utf-8",
                             dataType: "json",
                             success: function () {
                                 alert('Funtion called!');

                             },
                             error: function () {
                                 alert('Funtion not called');
                             }
                         });
                     };
    </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM