`

ASP.NET页面错误处理及邮件发送简易方案

阅读更多

1包含页面:Default.aspx,Error.aspx

2.思路:Global.asax页面负责捕捉系统中除去try以外发生的页面错误。并将错信息发送给Error.aspx页面。Error.aspx页面负责显示错误信息,并将错误信息发送到指定邮箱。

3.具体代码

Default.aspx页面

 

Code
html部分:
<body>
    <form. id="form1" runat="server ">
    <div>
   
    </div>
    <asp:DropDownList ID="DropDownList1" runat="server" DataTextField="Name"
        DataValueField="id">
    </asp:DropDownList>
    <asp:Button ID="Button1" runat="server" Text="Button" nClick="Button1_Click" />
    </form>
</body>
cs部分:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("id",typeof(string)));
            dt.Columns.Add(new DataColumn("name", typeof(string)));

            dt.Rows.Add(dt.NewRow());
            dt.Rows[0][0] = "1";
            dt.Rows[0][1] = "1";
            this.DropDownList1.DataSource = dt;
            this.DropDownList1.DataBind();

        }
    }
 protected void Button1_Click(object sender, EventArgs e)
    {
        this.DropDownList1.SelectedValue = "fff";
    }

Global.asax代码:

Code
<%@ Import Namespace ="System.Web" %>
 void Application_Error(object sender, EventArgs e)
    {
        Exception  LastError = Server.GetLastError();
        if (LastError != null)
            Response.Redirect("error.aspx?error="+LastError.InnerException.ToString().Replace("\r\n",""));
    }

Error.aspx代码:

 

Code
html部分:
<body>
    <form. id="form1" runat="server">
    <div style="background-color: #99CCFF; height: 252px;">
        抱歉:发生了错误。
     <div style="background-color:Silver"><asp:Label ID="Label1" runat="server"
            Text="Label"></asp:Label></div>
   
    </div>
    </form>
</body>
cs部分:

添加命名空间:

using System.Net.Mail;
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Request["error"] != null && Request["error"].Length > 0)
            {
                this.Label1.Text = Request["error"];
                SendMail(Request["error"]);
            }
        }
    }
 public void SendMail(string body)
    {
        MailMessage myMail = new MailMessage();
       
        myMail.From = new MailAddress("myaccount@test.com ");
        myMail.To.Add("test@test.com ");
        myMail.Subject = "Error";
        myMail.Priority = MailPriority.Normal;
        myMail.BodyEncoding = System.Text.Encoding.UTF8;
        myMail.Body = body;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "mail";
        try
        {
            smtp.Send(myMail);
        }
        catch (SmtpException ex)
        {
            this.Label1.Text = "邮件发送失败。\r\n"+ex.Message;
        }

    }

 

至此,系统即可实现错误捕捉显示,及邮件发生功能。

分享到:
评论

相关推荐

    ASP.NET开发的邮件发送系统

    【ASP.NET开发的邮件发送系统】是一个基于Visual Studio 2005和SQL Server 2000构建的简易应用程序,主要用于实现电子邮件的发送功能。这个系统的核心是利用ASP.NET的技术来创建用户友好的界面,并结合后端数据库...

    ASP.NET实现简易计算器

    在这个“ASP.NET实现简易计算器”的项目中,我们主要关注的是如何利用C#语言在ASP.NET的Web表单(WebForm)环境中创建一个基本的计算器应用。下面将详细阐述相关知识点。 1. ASP.NET Web Forms: ASP.NET Web ...

    asp.net 简易计算器源码

    ASP.NET简易计算器源码是一个基于微软的ASP.NET技术开发的在线计算器应用,它适用于初学者学习和理解ASP.NET编程的基本概念。此项目是使用Visual Studio 2008这一集成开发环境(IDE)构建的,这表明源码遵循的是.NET...

    ASP.NET 电子邮件发送系统的实现

    在本项目"ASP.NET 电子邮件发送系统的实现"中,我们将深入探讨如何利用ASP.NET技术来开发一个邮件发送系统,这对于新手开发者来说是一个很好的实践案例。 首先,让我们了解ASP.NET的核心组件。ASP.NET提供了多种...

    ASP.NET简易通讯录

    【ASP.NET简易通讯录】项目是一个面向初学者的教程,旨在教授如何利用ASP.NET、C#编程语言以及SQL Server 2000数据库来构建一个基础的通讯录系统。这个项目可以帮助初学者理解Web应用程序的基本架构,特别是针对.NET...

    ASP.NET 简易_邮件发送示例.rar

    邮件发送的核心技术是使用SMTP(Simple Mail Transfer Protocol)协议,ASP.NET提供了一种简单的方式来处理SMTP服务器通信,即System.Net.Mail命名空间中的MailMessage和SmtpClient类。首先,我们需要创建一个...

    基于asp.net的简易计算器

    8. **错误处理**:虽然这是一个简单的项目,但良好的错误处理仍然重要。开发者可能会添加异常处理代码,确保在出现错误时能够给出友好提示。 9. **CSS和布局**:尽管界面设计简单,但可能仍涉及到CSS来调整元素的...

    c# asp.net+access 简易论坛BBS

    5. **页面生命周期**:理解ASP.NET页面的生命周期对于正确处理用户交互至关重要。从加载到回发,每个阶段都有特定的事件可以捕获,如Page_Load、Button_Click等。 6. **数据访问层(DAL)**:项目可能包含一个独立...

    asp.net网上简易商城

    总结来说,"asp.net网上简易商城"项目涉及了ASP.NET框架、C#编程、SQL Server数据库管理、Web Forms页面设计、状态管理、安全性策略、以及潜在的支付集成等多个关键知识点。这些技术的综合运用,为开发者提供了一个...

    ASP.NET+SERVER简易聊天室

    【ASP.NET+SERVER简易聊天室】是一个基于ASP.NET技术实现的简单在线聊天室项目,它展示了如何使用.NET框架创建一个实时交互的Web应用程序。在这个项目中,开发者利用ASP.NET的服务器端功能,结合HTTP协议和AJAX技术...

    ASP.NET的简易BBS论坛

    ASP.NET的简易BBS论坛是基于Web程序设计技术构建的一种在线讨论平台,它利用ASP.NET框架来实现用户交互和信息共享。在这个项目中,我们主要会接触到以下几个关键知识点: 1. ASP.NET基础:ASP.NET是Microsoft开发的...

    ASP.NET 简易论坛 适合初学者研究

    ASP.NET提供了全球错误处理和自定义错误页面,帮助开发者优雅地处理异常。 8. **AJAX**:为了提升用户体验,ASP.NET还支持异步更新,使用UpdatePanel或jQuery AJAX可以实现页面的部分刷新,而无需整个页面重新加载...

    ASP.NET制作的一个在线计算器

    6. **Response对象**:ASP.NET使用HttpResponse对象来生成并发送响应给客户端。在计算器的事件处理函数中,开发者会使用`Response.Write`方法将计算结果输出到网页上。 7. **AJAX技术**:为了实现无需刷新页面的...

    ASP.NET 一个简易的评分星星Demo

    8. 错误处理和安全:确保在处理用户评分时考虑到错误情况,如防止恶意用户篡改评分。同时,确保所有的用户交互都经过验证和授权,以保护系统的安全性。 综上所述,这个ASP.NET评分星星Demo涵盖了前端交互、后端处理...

    ASP.NET 简易_文本编辑器控件.rar

    总的来说,"ASP.NET 简易_文本编辑器控件"是一个学习和研究的好素材,无论你是想了解ASP.NET控件开发,还是寻找一个简单的文本编辑器解决方案,这个源码都值得深入研究。通过对源码的拆解和理解,你可以掌握更多关于...

    用ASP.NET制作的聊天室

    9. **错误处理和调试**:良好的错误处理和调试机制是任何应用程序不可或缺的部分,ASP.NET提供了全局异常处理和调试工具,帮助开发者找出和修复问题。 10. **部署和测试**:完成开发后,应用需要部署到Web服务器上...

    ASP.NET通讯录小程序

    当用户点击按钮时,页面会通过POST请求发送回服务器,此时ASP.NET会自动处理页面状态,使得在回发过程中控件的状态得以保持。这使得开发者能够轻松地处理用户输入和响应。 至于用户认证和授权,ASP.NET也提供了内置...

    asp.net简易登陆界面

    在这个"asp.net简易登陆界面"项目中,我们将探讨如何利用ASP.NET和C#语言来实现一个基本的用户登录功能,同时涉及数据库交互。 首先,让我们了解登录界面的基本构成。一个典型的登录界面通常包括两个输入字段:...

    一个基于C#+Asp.net实现的简易留言板源码

    4. **Web.config**:这是ASP.NET应用程序的配置文件,用于存储应用程序的配置信息,如连接字符串、安全设置、默认页面、错误处理等。开发者可以通过修改Web.config来调整应用程序的行为。 5. **.ascx用户控件**:...

Global site tag (gtag.js) - Google Analytics