2012-07-12 11 views
5

मेरे पास एक उपयोगकर्ता नियंत्रण है जो उपयोगकर्ता प्राथमिकताओं के आधार पर गतिशील रूप से अन्य उपयोगकर्ता नियंत्रण जोड़ देगा। मुझे अधिभारित लोडकंट्रोल विधि के साथ नियंत्रण जोड़ने में समस्याएं आ रही हैं।क्या मैं रचनाकारों का उपयोग कर गतिशील रूप से उपयोगकर्ता नियंत्रण बना सकता हूं?

मैं यह कर की कोशिश की:

ddControl = typeof(DropDownControl), new object[] { testData, FilterModel.Models[i] }); 

हालांकि, ddControl में नियंत्रण से कोई भी प्रारंभ किया गया और जब मैं बता गया कि उसमें शामिल डेटा स्रोत सेट करने की कोशिश की है, यह विस्फोट हो गया। मैं एक मॉडल और निर्माता जो गुण, मूलभूत मूल्यों, आदि मैं मैं की तरह

(DropDownControl)LoadControl("~/WebUserControls/DropDownControl.ascx") 

या कर सकते हैं नियंत्रण बनाने के बाद मॉडल मान लोड करने के लिए एक LoadModel() विधि बनाना होगा सेट करने के लिए एक डेटा स्रोत में पारित मैं इसे सभी तरह से कन्स्ट्रक्टर के माध्यम से गतिशील रूप से घोषित करते समय करता हूं?

यदि यह स्पष्ट नहीं है, तो मुझे बताएं कि मैं इसे कैसे बना सकता हूं। धन्यवाद!

+0

वेबफॉर्म और उपयोगकर्ता नियंत्रण कन्स्ट्रक्टर इंजेक्शन के लिए एलर्जी हैं। आपकी सबसे अच्छी शर्त इंजेक्शन करने के लिए 'LoadControl' के बाद कॉल करने वाली विधि को जोड़ना है। –

उत्तर

0

आप इन उपयोगकर्ता नियंत्रणों को गतिशील रूप से जोड़ने के लिए PlaceHolder का उपयोग कर सकते हैं और ऐसा करने के लिए एक विधि का खुलासा करके अन्य परिचालन कर सकते हैं, और इस तरह आप अपने नियंत्रण के जीवन चक्र में हस्तक्षेप किए बिना सबकुछ पर अधिक नियंत्रण रखते हैं।

इसके बजाय कन्स्ट्रक्टर उपयोग गुण और विधियों का उपयोग न करें।

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

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