17.エラーページ
6950 ワード
例:
1.特定のファイルにアクセスするときにファイルが見つからないエラーページFileNotFoundの2つのページを作成します.htm、別のエラー時のエラーページ:defaultErr.aspx.
2.ErrorTestを設立するaspx、このページを実行すると、システムにエラーが発生します.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ErrorTest.aspx.cs" Inherits=" .ErrorTest" %>
<!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>
</div>
</form>
</body>
</html>
そのpage_loadイベントのコード:
if (!IsPostBack)
{
SqlConnection conn = new SqlConnection("IP:127.0.0.1&db=tt");
conn.Open();
}
3.webを設定する.configファイル
<?xml version="1.0" encoding="utf-8"?>
<!--
ASP.NET ,
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPages/defaultErr.aspx">
<error statusCode="404" redirect="~/ErrorPages/FileNotFound.htm" />
</customErrors>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0"/>
</system.web>
</configuration>
4.エラーが発生した場合、エラーの具体的な情報を記録するための日記があり、プロジェクトでErrorRecordsを作成する.txtファイル
defaultErr.aspxページのPage_Loadイベントには、次のコードが書き込まれます.
if (!IsPostBack)
{
Exception ex= HttpContext.Current.Server.GetLastError();
File.AppendAllText(Server.MapPath("~/ErrorRecords.txt"), ex.StackTrace);
}
5.ErrorTestを実行する.aspxはdefaultErrを自動的に表示します.Aspxページでは、エラーの具体的な情報をErrorRecordsに書きます.txtで.