2012-07-20 18 views
5

मेरा नियंत्रक एनोथ नियंत्रक से विरासत में मिला है जिसमें डिफ़ॉल्ट कन्स्ट्रक्टर नहीं है।टी 4 एमवीसी बेस कंट्रोलर में डिफॉल्ट कन्स्ट्रक्टर नहीं है

protected MyControllerController(Dummy d) { } 

मैं इस समस्या का समाधान कैसे कर सकते हैं: T4MVC निम्नलिखित निर्माता जो मानता आधार नियंत्रक डिफ़ॉल्ट निर्माता है उत्पन्न करता है? this पृष्ठ, संस्करण 2.4.00 के अनुसार पर्याप्त दिलचस्प है, "मूल नियंत्रक के पास डिफ़ॉल्ट स्थिति नहीं होने पर निश्चित समस्या"। मैं भी found यह SO सवाल है, लेकिन मेरा बेस नियंत्रक सामान्य नहीं है।

+0

मैं संस्करण 2.10.0 के साथ अपनी समस्या को दोबारा करने में सक्षम था ... मुझे लगता है कि आपको इस मुद्दे को टी 4 एमवीसी इश्यू ट्रैकर पर पोस्ट करना चाहिए, और जब तक यह लिंक किए गए SO प्रश्न से वर्कअराउंड का उपयोग नहीं करता है। अर्थात् अपनी बेस क्लास में एक डिफ़ॉल्ट कन्स्ट्रक्टर जोड़ें। – nemesv

+1

मैं बाहर हूं, लेकिन मैं सप्ताह के अंत में इसकी जांच करने की कोशिश करूंगा। –

उत्तर

6

यदि आप अपना बेस नियंत्रक सार बनाते हैं तो यह ठीक काम करना चाहिए। मुझे लगता है कि इसे कभी भी नियंत्रक के रूप में उपयोग करने की आवश्यकता नहीं है? यदि ऐसा होता है, तो आप इसे संभालने के लिए हमेशा एक और गैर-सारणी व्युत्पन्न कक्षा बना सकते हैं।

+0

हाँ, इसे काम करने के कुछ तरीके हैं लेकिन मैं परिदृश्य पर काम कर रहा हूं (मैंने इसे यहां वर्णित किया है: http://stackoverflow.com/questions/11576606/asp-net-mvc-reuse-of-controllermodelviewroutes) जो बहुत उचित लग रहा है। क्या यह अच्छा नहीं होगा अगर टी 4 एमवीसी ने हैक्स के बिना समर्थन किया? – SiberianGuy

+0

यहां आपका अनुसरण नहीं कर रहा है। क्या आप मूल प्रकार का उपयोग सीधे कर रहे हैं या नहीं? यदि नहीं, तो इसे सार के रूप में चिह्नित करना एक हैक नहीं है, यह करना सही है। –

+0

मैं इसे सीधे उपयोग कर रहा हूं। मैं बस व्युत्पन्न नियंत्रक से कुछ विशिष्ट निर्भरताओं को पास करता हूं। – SiberianGuy

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