Webプロジェクトで簡単なエラー処理ページを作成する
アプリケーションにエラーが発生した場合、エラーページ処理をしていないと、敏感な情報が直接出力され、プロジェクトの物理的なパスが直接表示されることもあり、セキュリティが深刻に欠けています.また、エラーの種類が多く、ページスタイルが異なり、ユーザーの体験が悪いため、Webプロジェクトでエラーページを作成し、エラー情報を友好的に提示する方法について説明します.
一、エラーページerrorを作成する.aspx、フロントコードは以下の通りです(実際の必要に応じて要素を追加できます):
二、グローバル処理ファイルにおけるApplication_Errorにエラー処理を加えたコードは次のようになります.
三、エラーページの初期化時に、エラー情報を出力します.
以上の手順でエラーページの構成を完了するほか、Webを介してもよい.コンフィグ構成エラーページ、プレビュー効果は以下の通りです.
一、エラーページerrorを作成する.aspx、フロントコードは以下の通りです(実際の必要に応じて要素を追加できます):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="error.aspx.cs" Inherits="MES.Web.error" %>
<!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>
<style type="text/css">
.style1
{
width: 74px;
}
.style2
{
width: 79px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div align="center">
<table style="height: 85px; width: 657px;">
<tr>
<td>
<img alt="system error" src="Images/errorpage.jpg" />
</td>
</tr>
<tr>
<td class="style2">
<asp:Label ID="lblMessage1" runat="server" Font-Names=" " Text=""></asp:Label>
</td>
</tr>
<tr>
<td class="style2">
<asp:Label ID="lblMessage2" runat="server" Font-Names=" " Text=""></asp:Label>
</td>
</tr>
<tr>
<td class="style2">
<asp:Label ID="lblMessage3" runat="server" Font-Names=" " Text=""></asp:Label>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
二、グローバル処理ファイルにおけるApplication_Errorにエラー処理を加えたコードは次のようになります.
//
Exception objErr = Server.GetLastError().GetBaseException();
string sError = " :" + HttpContext.Current.Request.Url.ToString() + " :" + objErr.Message + " : 。";
//
Server.ClearError();
// Session["ProError"] , Application["AppError"]
Application["AppError"] = sError;
// Response.Redirect
System.Web.HttpContext.Current.Response.Redirect(HttpContext.Current.Request.ApplicationPath + "/error.aspx");
三、エラーページの初期化時に、エラー情報を出力します.
if (!IsPostBack)
{
if (Application["AppError"] != null)
{
try
{
string msg = Application["AppError"].ToString();
msg = msg.Replace("\"", "");
lblMessage1.Text = msg.Substring(0, msg.IndexOf(" "));
lblMessage2.Text = msg.Substring(msg.IndexOf(" "), msg.IndexOf(" ") - msg.IndexOf(" "));
lblMessage3.Text = msg.Substring(msg.LastIndexOf(" "));
}
catch (Exception ex)
{
lblMessage1.Text = ex.Message;
}
}
}
以上の手順でエラーページの構成を完了するほか、Webを介してもよい.コンフィグ構成エラーページ、プレビュー効果は以下の通りです.