如何阻止错误显示在网页上,改为在弹出窗口中显示

本文关键字:显示 窗口 何阻止 错误 网页 | 更新日期: 2023-09-27 17:56:10

我正在开发这个应用程序,它将成为我组织中的模板,但有一个问题我需要解决。我想在AjaxControlTookit的modalpop上显示错误,并且永远不要让它在带有堆栈跟踪的浏览器上显示丑陋的黄色文本。

我应该在哪里拦截,我应该拦截什么才能正常工作?

可以使用的生命周期事件是否发生在呈现之前,但在页面本身被构造(因此发生了错误?)之后,我是否准备好了页面控件?假设我有一个母版页并且模态弹出窗口将在那里,我可以在母版页中进行这种常规错误处理吗?

这是我需要使用global.asax的东西吗?(我从未使用过它,但是有了这样的名称和它的事件,我可以弄清楚它的作用)

这甚至可行吗? 我可以捕获每个异常,甚至是与我的页面相关的浏览器错误吗?

编辑:

的问题并不在于用户看到的内容,而是我不希望浏览器显示堆栈跟踪和黄色错误页面,从而破坏用户到目前为止所做的任何事情。我想创建一个漂亮而干净的用户体验,如果用户可以从导致异常的任何问题中恢复,我希望他们有选择,其中包括不破坏他们在回发之前拥有的页面。这是可以理解的还是我无法更好地解释这一点?

如何阻止错误显示在网页上,改为在弹出窗口中显示

您可以使用javaScript轻松执行此操作:

window.onerror = function(msg, url, linenumber) {
    alert('Error message: '+msg+''nURL: '+url+''nLine Number: '+linenumber);
    return true;
}

http://www.javascriptkit.com/javatutors/error2.shtml

一般来说,这里有一个关于如何处理 ASP.NET 中的错误(包括全局错误)的链接:

如何:显示安全错误消息

然后关于modalpopup,在链接中提到的示例中,用户被重定向到其他错误页面。您可以将错误消息传递到该错误页面,然后在该错误页面上显示模型弹出窗口。