ScriptManager 发送错误到客户端

复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication4.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%--AllowCustomErrorsRedirect属性设置为false,配合后台的自定义错误使用--%>  
            <asp:ScriptManager ID="ScriptManager1" runat="server" AllowCustomErrorsRedirect="false" OnAsyncPostBackError="ScriptManager1_AsyncPostBackError">  
            </asp:ScriptManager>  
      
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">  
                <ContentTemplate>  
                    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />  
                </ContentTemplate>  
            </asp:UpdatePanel>  
              
            <%--自定义错误处理--%>  
            <div id="error"></div>  
              
            <script type="text/javascript" language="javascript">  
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, e)  
                {  
                    e.set_errorHandled(true);  
                    //将信息显示到上面的div区块中innerHTML,这里可以设置默认的错误信息  
                    $get("error").innerHTML = "Sorry, an error has occurred: " + e.get_error().message;  
                    setTimeout(function(){ $get("error").innerHTML = ""; }, 3000);//3秒后变为空  
                });  
            </script>  

    </div>
    </form>
</body>
</html>
复制代码
复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication4
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //自定义错误处理,配合web.config文件中的错误配置节点customErrors(设置为on的时候才生效,同时还要制定错误页)和AllowCustomErrorsRedirect(是否允许customErrors)使用  
            throw new Exception("错误信息提示!");  

        }

        protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
        {
            ScriptManager.GetCurrent(this).AsyncPostBackErrorMessage = e.Exception.Message; 
        }
    }
}
复制代码

 

posted on   空明流光  阅读(192)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示