2011-09-22 12 views
14

हम अपने अपवाद को लॉग इन करने के लिए बेसकंट्रोलर में ऑनएक्सप्शन वर्चुअल विधि का उपयोग कर रहे हैं।कंट्रोलर में एक्शन और एक्शन पैरामीटर्स प्राप्त करें .ऑनएक्सप्शन

लेकिन हम नियंत्रक कार्रवाई और पैरामीटर कैसे प्राप्त कर सकते हैं जो अपवाद से उत्पन्न हुआ?

उत्तर

25

आप इन सभी डेटा को ExceptionContext ऑब्जेक्ट से प्राप्त कर सकते हैं।

उदाहरण के लिए इस कोड को आप नियंत्रक, कार्रवाई प्राप्त कर सकते हैं और अन्य सभी मार्ग मानकों का प्रयोग करके:

context.HttpContext.Request.QueryString 

और finnaly प्रपत्र पैरामीटर:

context.RouteData.Values 

इस कोड को आप क्वेरी स्ट्रिंग पैरामीटर प्राप्त कर सकते हैं का उपयोग करना:

context.HttpContext.Request.Form 
+0

क्या मॉडलबाइंडिंग के बाद पैरामीटर प्राप्त करना संभव है? – sternr

+0

मॉडल बाइंडिंग को इस डेटा को नहीं बदला जाना चाहिए। तो, यह संभव है – Egor4eg

+5

मेरा मतलब था, मैं Request.Querystring \ form डेटा नहीं चाहता, मैं इसे अपने मॉडल फॉर्म में चाहता हूं - मैं इसे कैसे प्राप्त कर सकता हूं? – sternr

16
protected override void OnException(ExceptionContext filterContext) 
{ 
    string action = filterContext.RouteData.Values["action"].ToString(); 
    string controller = filterContext.RouteData.Values["controller"].ToString(); 
} 
संबंधित मुद्दे