2012-11-06 22 views
5

मैं web.config <system.webServer>एमवीसी 4 कस्टम 404 पेज?

<httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL"> 
    <remove statusCode="404" subStatusCode="-1" /> 
    <error statusCode="404" subStatusCode="-1" path="/cv/" responseMode="ExecuteURL" /> 
</httpErrors> 

रास्ता है कि अस्थायी तौर पर यहां [myapplication]/सीवी/कोई पृष्ठ प्रयोग किया जाता है में जगह इस किया है।

लेकिन यदि मैं 404 प्रतिक्रिया प्राप्त करने के लिए [myapplication]/[जो कुछ भी मौजूद नहीं है] पर जाता है, तो कुछ भी नहीं होता है।

यह वर्तमान में मेरी पुरानी वेब फॉर्म साइट पर काम कर रहा है, लेकिन मैं इसे एमवीसी 4 साइट पर काम नहीं कर सकता। मैं यह काम कैसे कर सकता हूं? (मैं "पुनर्निर्देशन/फ़ाइल" तरीकों का उपयोग नहीं करना चाहते हैं)

उत्तर

10

यह वही है मैं एक वर्तमान MVC 4 परियोजना में है:

<customErrors mode="On" defaultRedirect="~/Error/General"> 
    <error statusCode="404" redirect="~/Error/Http404" /> 
</customErrors> 

मैं एक त्रुटियाँ नियंत्रक, और "सामान्य के लिए विचारों "और" एचटीपी 404 "(एक्शन विधियों)।

एक आकर्षण की तरह काम करता है।

+1

मैंने इस कई बार कोशिश की है, लेकिन यह डिफ़ॉल्ट एएसपी त्रुटि पृष्ठ प्रदर्शित करता रहता है – Sinaesthetic

+0

क्या आपने त्रुटि नियंत्रक और विचार भी बनाए थे? http://stackoverflow.com/questions/13905164/how-to-make-custom-error-pages-work-in-asp-net-mvc-4 –

+3

मैंने किया। हालांकि, मुझे मेरी समस्या मिली। मैं वास्तव में ढांचे की तरह एक HttpStatusCodeResult लौट रहा था, आमतौर पर। जाहिर है, यह एक त्रुटि के रूप में नहीं उठाया गया है ताकि कस्टम त्रुटि पृष्ठों को कभी भी बुलाया न जाए। मैंने अपना कोड बदलकर इसके बजाय एक HttpException फेंक दिया और यह अब काम करता है। यकीन नहीं है कि मैं इसके बारे में कैसा महसूस करता हूं – Sinaesthetic

3

समस्या का हिस्सा इस तथ्य से भी हो सकता है कि <customErrors> टैग <system.webServer> का वैध बच्चा नहीं है। इसे इसके बजाय <system.web> में डालने का प्रयास करें।

संबंधित मुद्दे