阻止页面回发的'未指定错误'

时间:2013-10-14 18:18:13

标签: javascript asp.net webforms telerik keypress

我在RadPageView中的页面上有一个RadTextBox,定义为:

<telerik:RadTextBox ID="txtReport" TextMode="MultiLine" Height="500"
    ClientEvents-OnKeyPress="Report_KeyPress">
</telerik:RadTextBox>

按下按键,它会跟踪它在JavaScript中的变化,如:

function Report_KeyPress(sender, e) {
    if (_changed == false) {
        _changed = true;
    }
}

在卸载之前,我尝试将消息返回为:

window.onbeforeunload = function (e) {
    if (!!_changed == true) {
        var e = e || window.event;
        var msg = 'Changes have been made.  Are you sure you want to discard these changes?';

        if (e) {
            e.returnValue = msg;
        }
        else {
            return msg;
        }
    }
}

在Windows 7的IE 9中显示带有消息的确认提示,以及离开页面或停留在页面上的按钮。当我点击离开页面时,效果很好;当我点击停留在页面上时,它会在以下行中爆炸:

function __doPostBack(eventTarget, eventArgument) {
  theForm.submit(); //Error line
}

错误:

  

page.aspx

第33行第9行未处理的异常      

0x80004005 - Microsoft JScript运行时错误:未指定错误。

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

虽然这是一个旧链接,但这对我有所帮助: http://tinisles.blogspot.ro/2005/10/onbeforeunload-throwing-errors-in-ie.html

虽然没有解释这个问题,但它似乎是一个已知的IE问题。