मैं एक asp.net MVC 1.0 साइट जब चीजें एक दृश्य करने के लिए सही लेख नक्शे काम करते हैं और दृश्य प्रदान की गई हो जाता है कि एक 2 स्तरीय पदानुक्रम /श्रेणी/लेखएएसपीनेट एमवीसी में 'अवलोकन नहीं मिला' अमान्य ऑपरेशन अपवाद को कैसे संभालें?
से कुछ सामग्री में कार्य करता है है। हालांकि, जब यूआरएल रूटिंग की स्थिति को पूरा करता है लेकिन दृश्य मौजूद नहीं है तो अपवाद उठाया जाता है कि मैं नियंत्रक कार्रवाई में जाल नहीं कर सकता।
रूटिंग:
routes.MapRoute(
"Article",
"{category}/{article}.aspx",
new { controller = "MyController", action = "Article" }
);
MyController कार्रवाई:
public ActionResult Article(string category, string article)
{
string path = string.Format("~/Views/{0}/{1}.aspx", category, article);
ViewResult vr = View(path);
return vr;
}
हालांकि, जब दृश्य नहीं मिला है, एक System.InvalidOperationException
उत्पन्न होता है कि मैं नियंत्रक कार्रवाई में नहीं पकड़ सकते।
अपवाद विवरण: System.InvalidOperationException: दृश्य '~/दृश्य/मेरी-श्रेणी/मेरी-लेख-साथ-लंबी name.aspx' या अपने गुरु नहीं पाया जा सका। निम्न स्थानों की खोज गया: ~/दृश्य/मेरी-श्रेणी/मेरी-लेख-साथ-लंबी name.aspx
मैं global.asax.cs
में जाल Application_Error()
विधि में त्रुटि लेकिन कर सकते हैं:
- से वहाँ
- आश्चर्य त्रुटि को देखने के लिए पुनर्निर्देशित करने के लिए कैसे ही कोई बेहतर जगह है जहाँ अपवाद उठाया है के करीब है पता नहीं है।
मैंने समाधान की कोशिश की है और पसंद किया है। एकमात्र समस्या यह है कि यदि आपको किसी भिन्न कारण के कारण एक अवैधऑपरेशन अपवाद मिलता है तो इसका परिणाम 404 होगा। मुझे कुछ क्रमबद्ध करने का प्रयास करते समय ऐसा अपवाद हुआ था। – Bealer