โดยปกติหลังจากที่เว็บแอปพลิเคชันเปิดตัว เพื่อให้ผู้ใช้มีอินเทอร์เฟซที่เป็นมิตรและประสบการณ์ผู้ใช้ มันจะข้ามไปยังหน้าข้อผิดพลาดที่กำหนดเองเมื่อมีข้อผิดพลาดเกิดขึ้น แทนที่จะเป็นรายการข้อยกเว้นโดยละเอียดที่ ASP.NET เปิดเผยต่อผู้ใช้
หน้าการจัดการข้อผิดพลาดอย่างง่ายสามารถตั้งค่าได้ผ่าน web.config
<สถานะข้อผิดพลาด = "403" เปลี่ยนเส้นทาง = "NoAccess.htm" / >
<สถานะข้อผิดพลาด = "404" เปลี่ยนเส้นทาง = "FileNotFound.htm" />
ข้อผิดพลาดแบบกำหนดเอง>
หากคุณต้องการแสดงสาเหตุของข้อผิดพลาดโดยทางโปรแกรม คุณสามารถทำได้ผ่านเหตุการณ์ Page_Error
อีกวิธีหนึ่งสามารถทำได้ผ่าน Global.asax ฉันคิดว่าวิธีนี้สะดวกกว่า นอกจากนี้ หากสามารถรวมกับเพจที่เป็นมิตรแยกกันมากขึ้นก็จะดูสะดวกสบายมากขึ้น
Global.asax (การบันทึกข้อผิดพลาดหากจำเป็น) เป็นโมฆะ Application_Error (ผู้ส่งวัตถุ EventArgs e)
-
ข้อยกเว้น objErr = Server.GetLastError().GetBaseException();
string error = "หน้าข้อยกเว้น: " + Request.Url.ToString() + "
";
ข้อผิดพลาด += "ข้อความข้อยกเว้น: " + objErr.Message + "
";
เซิร์ฟเวอร์ ClearError();
แอปพลิเคชัน ["ข้อผิดพลาด"] = ข้อผิดพลาด;
Response.Redirect("~/ErrorPage/ErrorPage.aspx");
-
ErrorPage.aspx
ป้องกันโมฆะ Page_Load (ผู้ส่งวัตถุ EventArgs e)
-
ErrorMessageLabel.Text = แอปพลิเคชัน ["ข้อผิดพลาด"].ToString();
}เมื่อผู้ใช้ใช้แอปพลิเคชัน พวกเขาอาจไม่ต้องการทราบสาเหตุของข้อผิดพลาด ในขณะนี้ เราสามารถใช้ช่องทำเครื่องหมายเพื่อพิจารณาว่าจะแสดงสาเหตุของข้อผิดพลาดหรือไม่ คุณสามารถใส่ป้ายกำกับใน div จากนั้นใช้ช่องทำเครื่องหมายเพื่อตัดสินใจว่าจะแสดง div หรือไม่
http://www.cnblogs.com/EasyLive2006/archive/2007/01/07/613922.html