मैं 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 के करीब संभाल रहा हूं ।
अन्य त्रुटियों को संभालने के लिए मुझे क्या करना होगा?