天天看點

Asp.net制定錯誤頁

隻要在Web.Config中添加如下代碼即可。 

    <system.web>

        <customErrors mode="On" defaultRedirect="~/Error.aspx"  <!--全局性的 推薦mode為RemoteOnly:本機檢視詳細錯誤資訊,其他機器檢視定制的錯誤頁面 -->

            <error statusCode="404" redirect="~/404.html"/>   

 <!--局部性的,可以添加404,403等已知錯誤-->

        </customErrors>

    </system.web>

可以在Error.aspx中寫代碼,把錯誤資訊寫到日志檔案中

using System;

using System.Web;

using System.IO;

namespace GridView入庫單管理

{

    public partial class Error : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                Exception ex = HttpContext.Current.Server.GetLastError();  //擷取錯誤對象;

                string line = "------------------------------------------------------------------------------";

                File.AppendAllText(Server.MapPath("~/Log.txt"), ex.Message + ex.StackTrace + "\n" + DateTime.Now + "\n" + line);

            }

        }

    }

}  

生成的錯誤資訊格式:(用404測試的)

檔案不存在。   在 System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response)

   在 System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context, String overrideVirtualPath)

   在 System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state)

   在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

   2011-05-18 18:19:03

 ------------------------------------------------------------------------------ 

繼續閱讀