11
วิธีทำให้หน้าข้อผิดพลาดที่กำหนดเองทำงานใน ASP.NET MVC 4
ฉันต้องการหน้าแสดงข้อผิดพลาดที่กำหนดเองสำหรับ 500, 404 และ 403 นี่คือสิ่งที่ฉันได้ทำ: ข้อผิดพลาดที่กำหนดเองที่เปิดใช้งานใน web.config ดังต่อไปนี้: <customErrors mode="On" defaultRedirect="~/Views/Shared/Error.cshtml"> <error statusCode="403" redirect="~/Views/Shared/UnauthorizedAccess.cshtml" /> <error statusCode="404" redirect="~/Views/Shared/FileNotFound.cshtml" /> </customErrors> ลงทะเบียนHandleErrorAttributeเป็นตัวกรองการดำเนินการทั่วโลกในFilterConfigชั้นเรียนดังต่อไปนี้: public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomHandleErrorAttribute()); filters.Add(new AuthorizeAttribute()); } สร้างหน้าข้อผิดพลาดที่กำหนดเองสำหรับแต่ละข้อความด้านบน ค่าเริ่มต้นสำหรับ 500 นั้นมีอยู่แล้วในกล่อง ประกาศในแต่ละหน้ามุมมองข้อผิดพลาดที่กำหนดเองว่ารูปแบบของหน้านั้นคืออะไร System.Web.Mvc.HandleErrorInfo สำหรับ 500 จะแสดงหน้าข้อผิดพลาดที่กำหนดเอง สำหรับคนอื่นมันไม่ได้ มีบางอย่างที่ฉันขาดหายไปหรือไม่? มันดูเหมือนว่านี่ไม่ใช่ทั้งหมดที่มีเพื่อแสดงข้อผิดพลาดที่กำหนดเองเมื่อฉันอ่านรหัสในOnExceptionวิธีการHandleErrorAttributeเรียนและมันจัดการเพียง 500 ฉันต้องทำอย่างไรเพื่อจัดการข้อผิดพลาดอื่น ๆ