在我正在构建的ASP.NET Web应用程序中实现的UpdatePanels中出现异常,它们在页面上导致
JavaScript错误,并在警报中提供一些高级错误输出.这是发展的好处,但一旦系统在生产中,显然没有好处有多个原因.我可以通过Try Catch等来围绕麻烦的活动来控制Javascript错误,但在某些情况下,我想在主页面等上执行操作以支持用户体验.
解决方法
您可以使用ScriptManager(服务器端)上的AsyncPostBackError事件和PageRequestManager(客户端)上的EndRequest事件的组合,以便在使用UpdatePanel时完全处理服务器端错误.
这里有一些资源可以帮助您:
Customizing Error Handling for ASP.NET UpdatePanel Controls
Error Handling Customization for ASP.NET UpdatePanel
这是一个简单的例子:
// Server-side protected void ScriptManager1_AsyncPostBackError(object sender,AsyncPostBackErrorEventArgs e) { ScriptManager1.AsyncPostBackErrorMessage = "An error occurred during the request: " + e.Exception.Message; } // Client-side <script type="text/javascript"> function pageLoad() { Sys.WebForms.PageRequestManager.getInstance(). add_endRequest(onEndRequest); } function onEndRequest(sender,args) { var lbl = document.getElementById("Label1"); lbl.innerHTML = args.get_error().message; args.set_errorHandled(true); } </script>