2010-05-24 19 views
6

हमने एक मास्टर पेज बनाया है जो एएसपीनेट मास्टर क्लास को विरासत में मिला है। हमें यूई नियंत्रण भी मिला है जो मानक एएसपीनेट यूई नियंत्रण वर्ग से वंचित है। हमारे मास्टर पेज में एक सार्वजनिक सदस्य चर है। हमें उस यूजर नियंत्रण से उस सदस्य चर का उपयोग करने में सक्षम होना चाहिए जिसका हम उपयोग करते हैं। हालांकि हम इसे प्राप्त नहीं कर सकते हैं? क्या यह हमारी वास्तुकला है कि गलत है? या विचार स्वयं - उपयोगकर्ता नियंत्रण मास्टर पेज चर के लिए acces हो रही है?उपयोगकर्ता नियंत्रण से कस्टम मास्टर पेज तक पहुंच प्राप्त करना

उत्तर

6

सामान्य शब्दों में, यह शायद एक महान डिजाइन प्रतिमान नहीं है। हालांकि, आपको ऐसा कुछ करने में सक्षम होना चाहिए:

MyMasterType myMaster = this.Page.Master as MyMasterType; 
if (myMaster != null) 
{ 
    myMaster.PublicProperty = value; 
} 
+0

ये वही है जो हम वर्तमान में जा रहे हैं लेकिन यह गलत लगता है। तो हम एक सार्वजनिक संपत्ति रखने के लिए नियंत्रण बदलने जा रहे हैं। लोड होने पर युक्त पृष्ठ उस प्रॉपर्टी में उस मूल्य को इंजेक्ट करेगा। – Bernard

+0

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

+0

कुछ कारण हैं: 1) मास्टर पेज पर किसी संपत्ति का उपयोग करने से आप अन्य संदर्भों (भविष्य की ज़रूरतों) में मूल्य निर्धारित कर सकते हैं और 2) आर्किटेक्चर अब कसकर युग्मित नहीं है। यदि मास्टर पेज डेटा पकड़ लेता है, तो मास्टर पेज उपयोगकर्ता नियंत्रण पर निर्भर करता है। – etc

0
+0

यह अन्य तरीका है ... मास्टरपेज से नियंत्रण तक पहुंच प्राप्त करना। मुझे नियंत्रण से मास्टरपेज तक पहुंच प्राप्त करने की आवश्यकता है। – Bernard

+0

गोटा, सबसे अच्छा डिजाइन पैटर्न नहीं, जैसे @etc ने कहा। –

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