我有这段代码可以与用户核实是否可以保存页面而不保存:
<script language="JavaScript">
window.onbeforeunload = !isPostBack && confirmExit;
function isPostBack() {
return <%= Page.IsPostBack ? "true":"false" %>
}
function confirmExit() {
return "Some lame question for user. :)";
}
</script>
有dropDownLists的页面存在问题,我必须将AutoPostBack设置为true。 AutoPostBack = true每次都会导致恼人的弹出窗口。 我已经想出了如何检查postBack(谢谢谷歌),但现在我被卡住了。
应该没有错误,我不知道什么时候谈到java脚本。我是一个糟糕的桌面程序员,正在努力学习新东西。
答案 0 :(得分:1)
window.onbeforeunload
是一个函数而不是bool值。你可能想要这个或类似的东西:
if(<%= Page.IsPostBack ? "true":"false" %>)
{
window.onbeforeunload = function()
{
return "Some lame question for user. :)";
};
}
BTW,避免重新发布警告的另一种方法是重定向后模式(从服务器上的事件处理程序中重定向到您发布到的同一页面)。
答案 1 :(得分:1)
onbeforeunload应该存储一个函数,而不是一个布尔值,因为它是一个回调函数。
您可以执行以下操作:
window.onbeforeunload = function(){
if(!isPostBack && confirmExit) {
//leave page
}
}