ฉันต้องการหน้าแสดงข้อผิดพลาดที่กำหนดเองสำหรับ 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
ฉันต้องทำอย่างไรเพื่อจัดการข้อผิดพลาดอื่น ๆ