javascript – 如何判断ASP中的页面卸载是否为PostBack
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何判断ASP中的页面卸载是否为PostBack,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1291字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 如何判断ASP中的页面卸载是否为PostBack](/upload/InfoBanner/zyjiaocheng/792/c25d4295f0484e34b706b7da70b65d25.jpg)
这似乎是一个常见的问题,但搜索没有返回任何东西.
我有以下代码在页面卸载之前执行.问题是如果卸载是回发我不想向用户发出警告但我无法弄清楚如何区分回发和用户导航到另一页例如.
// This is executed before the page actually unloads
$(window).bind("beforeunload", function () {
if (prompt) {
//prompt
return true;
}
else {
//reset our prompt variable
prompt = true;
}
})
在后面的代码中运行脚本,即如果Page.IsPostBack然后设置提示不是一个选项.
有任何想法吗?
编辑:
这是我最终得到的解决方案:
function DoNotPrompt() {
prompt = false;
}
然后我将其添加到用户可以做一些导致回发的控件的所有控件中.
OnClientClick="DoNotPrompt()
然后选中了这个标志,如果用户真的离开了页面而不是回发,则只返回“beforeunload”中的字符串.
我还必须使用这段代码:
var magicInput = document.getElementById(‘__ EVENTTARGET’);
if (magicInput && magicInput.value) {
// the page is being posted back by an ASP control
prompt = false;
}
原因是我有一个自定义用户控件是一个列表框,我无法添加上述方法.因此使用它来捕获该事件并将标志设置为false.
不是最优雅的解决方案.
谢谢,
迈克尔
解决方法:
这可能无法涵盖所有??回发情况,但您可以通过询问__EVENTTARGET隐藏输入来判断ASP控件是否回发了该页面.
当ASP控件回发页面时,此输入由ASP设置.
var magicInput = document.getElementById('__EVENTTARGET');
if (magicInput && magicInput.value) {
// the page is being posted back by an ASP control
}
内容总结
以上是互联网集市为您收集整理的javascript – 如何判断ASP中的页面卸载是否为PostBack全部内容,希望文章能够帮你解决javascript – 如何判断ASP中的页面卸载是否为PostBack所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。