【问题标题】:Browser not handling exception from AJAX panel, ASP.NET c#浏览器不处理来自 AJAX 面板的异常,ASP.NET c#
【发布时间】:2011-02-24 10:49:10
【问题描述】:

我无法在 AJAX 面板中捕捉错误。即使我在前端后面的 c# 代码中抛出异常也完全忽略它。

这是我设置的代码,有人知道为什么吗?

理想情况下,我希望在出错时显示一个 js 警报窗口。

代码隐藏:

protected void btnX_Click(object sender, EventArgs e)
{
    throw new ApplicationException("test");
}

protected void ScriptManager_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
    ScriptManager.AsyncPostBackErrorMessage = e.Exception.Message;
}

标记:

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, e)
    {
       window.alert(e.get_error().name);
    }
</script>

<asp:ScriptManager ID="ScriptManager" runat="server" AllowCustomErrorsRedirect="true" OnAsyncPostBackError="ScriptManager_AsyncPostBackError" />

【问题讨论】:

    标签: c# asp.net javascript ajax exception


    【解决方案1】:

    我认为您应该显示“消息”错误属性而不是“名称”

    http://msdn.microsoft.com/en-us/library/bb383810.aspx

    function EndRequestHandler(sender, e)
    {
        if (e.get_error() != undefined)
        {
         var errorMessage = e.get_error().message;
         e.set_errorHandled(true);
         alert(errorMessage)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-03-20
      • 1970-01-01
      • 2010-10-21
      • 2019-08-31
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      相关资源
      最近更新 更多