ASP.NET頁面錯誤處理及郵件傳送簡易方案
1包含頁面:Default.aspx,Error.aspx
2.思路:Global.asax頁面負責捕捉系統中除去try以外發生的頁面錯誤。並將錯資訊傳送給Error.aspx頁面。Error.aspx頁面負責顯示錯誤資訊,並將錯誤資訊傳送到指定郵箱。
3.具體程式碼:
Default.aspx頁面
Code
html部分:
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
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部分:
抱歉:發生了錯誤。
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;
}
}
至此,系統即可實現錯誤捕捉顯示,及郵件發生功能。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-526837/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaMail傳送郵件時常見錯誤JavaAI
- 專案部署時郵件傳送錯誤
- ASP.NET之郵件傳送ASP.NET
- asp.net傳送郵件程式ASP.NET
- Laravel 傳送郵件報錯Laravel
- JavaScript的錯誤簡易處理JavaScript
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- 郵件和簡訊傳送
- ASP.net傳送郵件的例項ASP.NET
- 郵件傳送
- 傳送郵件
- 電子郵件協議及GO傳送QQ郵件協議Go
- Laravel5.8 傳送郵件報錯Laravel
- asp.net定時傳送郵件總結ASP.NET
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- Oracle郵件傳送Oracle
- java傳送郵件Java
- Powershell郵件傳送
- thinkphp 郵件傳送PHP
- centos 傳送郵件CentOS
- phpcms傳送郵件PHP
- 郵件的傳送
- asp.net mvc 錯誤頁面ASP.NETMVC
- 七、Spring Boot 錯誤處理原理 & 定製錯誤頁面Spring Boot
- asp.net 郵件傳送提醒功能(接收方包括QQ郵箱等)ASP.NET
- JavaMail:java使用QQ郵箱傳送郵件簡單版。JavaAI
- golang傳送郵件(qq郵箱)Golang
- 郵件傳送API整理API
- php windows 傳送郵件PHPWindows
- 定時傳送郵件
- thinkjs 傳送郵件JS
- 使用phpmailer傳送郵件PHPAI