में जेनेरिक बेस कंट्रोलर एरर हैंडलिंग के साथ समस्या मेरे पास मेरे बेस कंट्रोलर में एक कैचल है जो मुझे पकड़ने वाली त्रुटियों को संभालती है। यह इस तरह मोटे तौर पर चला जाता है:एएसपी.नेट एमवीसी
protected override void OnException(ExceptionContext filterContext)
{
// Bail if we can't do anything
if (filterContext == null)
return;
// log
var ex = filterContext.Exception ??
new Exception("No further information exists.");
LogException(ex);
filterContext.ExceptionHandled = true;
var data = new ErrorPresentation
{
ErrorMessage = HttpUtility.HtmlEncode(ex.Message),
TheException = ex
};
filterContext.Result = View("Error", data);
base.OnException(filterContext);
}
अब इस महान काम करता है त्रुटि होता है अगर नियंत्रक में । मुद्दा यह है कि यदि एएसपीएक्स पेज प्रतिपादन (कहें, एचटीएमएलहेल्पर विधि में) के दौरान पूरे त्रुटि दृश्य को पृष्ठ पर जगह पर प्रदान किया जाता है, जहां त्रुटि होती है। इसका अर्थ यह है कि पूरे त्रुटि पृष्ठ (मास्टरपेज और सभी) को उस पृष्ठ के भीतर प्रस्तुत किया जाता है जो गलत है। वास्तव में अपेक्षित व्यवहार नहीं है।
मैंने रीडायरेक्ट टॉक्शन में दृश्य बदलने की कोशिश की है, लेकिन यह एक नियंत्रक के रूप में काम नहीं करेगा क्योंकि प्रत्येक नियंत्रक (होम/त्रुटि, कॉन्फ़िगरेशन/त्रुटि इत्यादि) के लिए कोई मार्ग मौजूद नहीं है।
मैं इसे नियंत्रक में दोनों त्रुटियों और पृष्ठ पर त्रुटियों के लिए कैसे काम कर सकता हूं?
आप कह रहे हैं कि एक त्रुटि एक दृश्य में occures जब, अपने त्रुटि पृष्ठ मिलता है लाइन आपके विचार में त्रुटि हुई के बाद प्रदान की गई ? –