2009-01-20 17 views
6

क्या सामग्री पृष्ठ से मास्टर पेज के तत्वों का उपयोग किया जा सकता है?एएसपी.नेट - मास्टर पेज तत्वों का उपयोग सामग्री पृष्ठ

आइए कहें कि मेरे पास MasterPage1 और ContentPage1 है जो मास्टरपेज 1 से प्राप्त होता है, और मास्टरपेज 1 में एक बटन है: बटन 1।

क्या मैं सामग्री पृष्ठ से उस बटन की संपत्ति को बदल सकता हूं, उदाहरण के लिए बटन 1 अदृश्य, निष्क्रिय आदि बनाने के लिए? मैं यह कैसे हासिल कर सकता हूं?

मैं .net2.0

उत्तर

9

उपयोग कर रहा हूँ आप अपने पृष्ठ/उपयोगकर्ता नियंत्रण मार्कअप में masterpage के लिए एक संदर्भ डाल करने के लिए की है।

<%@ Reference VirtualPath="..." %> 

फिर कोड-बैक में, आपने केवल पृष्ठ को डाला। अपने मास्टरपेज में मैस्टरपेज और इसकी गुणों तक पहुंचें।

MyMasterPage myMasterPage = (MyMasterPage)Page.Master; 
9

हाँ ... यह होगा यदि आप masterpage का उपयोग कर aspx पेज से यह करने के लिए की आवश्यकता होगी:

Button myButton = (Button)Master.FindControl("myButton"); 
myButton.Visible = false; 
3

हाँ वे कर सकते हैं, और इस के लिए कुछ तरीके हैं।

मैं जिस दृष्टिकोण का उपयोग करता हूं वह मास्टर पेज के भीतर सार्वजनिक विधियों को बनाना है जो मास्टर पेज के भीतर डेटा में संशोधन/पहुंच करेगा। उदाहरण के लिए, मैं आम तौर पर वर्तमान पृष्ठ/श्रेणी मैं पर हूँ के लिंक शैली संशोधित करना चाहते, तो मैं इस तरह मेरे मालिक पेज में एक विधि है:

Public Sub SetNavigationPage(ByVal MenuName As String) 

     DirectCast(Me.FindControl(MenuName), HyperLink).CssClass = "MenuCurrent" 

    End Sub 
तब मेरे सामग्री पृष्ठ में

, मैं तो बस इस का उपयोग जैसे विधि:

Dim myMaster As EAF = DirectCast(Me.Master, EAF) 
myMaster.SetNavigationPage("hypViewEmployee") 

... जहां EAF मेरे मालिक पेज के क्लास का नाम है।

मुझे मिला एक दिलचस्प मुद्दा यह है कि मुझे इस तरह से उन्हें दिखाने/छिपाने की कोशिश करते समय .NET नियंत्रण की दृश्यता संपत्ति का उपयोग करने में जटिलताएं थीं। यह मास्टर और सामग्री पृष्ठों के प्रतिपादन के कारण है। इसे हल करने के लिए, मैं दृश्यमान और छुपा दोनों के लिए एक मूल सीएसएस शैली स्थापित करता हूं और तदनुसार CssClass गुण सेट करता हूं।

+0

+1। CssClass को बदलने के सुझावों के लिए धन्यवाद - मुझे यह बहुत आसान लगता है। किसी भी तरह से जिस दिन प्रश्न पूछा गया था उस दिन टिप्पणी छोड़ना भूल गया था – kristof

3

Master.FindControl ("myButton")। दर्शनीय = झूठी

सावधान कि नियंत्रण है कि आप उपरोक्त आदेश को चलाने के लिए उपयोग करते हैं, एक अद्यतन पैनल के अंदर नहीं होना चाहिए है।

+0

तो हम अपडेट पैनल – ush

+0

के अंदर नियंत्रण कैसे अक्षम कर सकते हैं तो हम अपडेट पैनल में नियंत्रण कैसे अक्षम कर सकते हैं – ush

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