[英]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.