dropDownList问题上的AutoPostback

时间:2012-02-03 14:09:33

标签: javascript asp.net

我有这段代码可以与用户核实是否可以保存页面而不保存:

<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脚本。我是一个糟糕的桌面程序员,正在努力学习新东西。

2 个答案:

答案 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
    }
}