2010-11-29 21 views
7

किसी पृष्ठ में उपयोगकर्ता नियंत्रण को गतिशील रूप से लोड करने के लिए कैसे करें?
मेरे पास एक पृष्ठ है जिसमें रेडियोबटन शामिल हैं। एक रेडियो बटन पर प्रत्येक क्लिक पृष्ठ में उपयोगकर्ता नियंत्रण (.ascx) लोड करता है।
मैं जो कर रहा हूं वह एक ही समय में सभी नियंत्रण लोड कर रहा है, लेकिन उनकी दृश्यता को झूठी पर सेट करें। जब कोई उपयोगकर्ता रेडियोधर्टर पर क्लिक करता है तो मैंने विशिष्ट उपयोगकर्ता नियंत्रण की दृश्यता को सत्य पर सेट किया है।
परिणामस्वरूप मैं प्रत्येक पोस्टबैक पर सभी उपयोगकर्ता नियंत्रण लोड कर रहा हूं।
क्या ऐसा करने का कोई और संभावित तरीका है?उपयोगकर्ता नियंत्रण गतिशील रूप से

उत्तर

13

उदाहरण के लिए एक आईडी "divControls" वाले पृष्ठ पर रनैट सर्वर के साथ एक div जोड़ें।

एएसपी आपको गतिशील रूप से उपयोगकर्ता नियंत्रण ".ascx" लोड करने की अनुमति देता है।

नीचे दिए गए कोड को आपकी समस्या का समाधान करना चाहिए।

Control ctrl = Page.LoadControl("UserControlPath"); 
divControls.Controls.Clear(); 
divControls.Controls.Add(ctrl); 
0

क्या एक ही पृष्ठ में उपयोगकर्ता नियंत्रण को पकड़ने के लिए कोई विशिष्ट कारण है?

पृष्ठ दृश्य स्थिति के बारे में सोचें क्योंकि आप सभी नियंत्रण लोड कर रहे हैं और इसकी दृश्यता निर्धारित कर रहे हैं।

मुझे लगता है कि दो संभव समाधान देखते हैं:

  1. या तो seprate पेज अलग उपयोगकर्ता नियंत्रण और जब कुछ रेडियो बटन पर उपयोगकर्ता क्लिक करें, संबंधित पृष्ठ पर रीडायरेक्ट होस्टिंग पैदा करते हैं।

  2. मांग पर लोड करें, जब उपयोगकर्ता उपयोगकर्ता नियंत्रण का अनुरोध करता है, केवल तभी लोड करें लेकिन अन्य सभी लोड किए गए उपयोगकर्ता नियंत्रणों को हटा दें और इसलिए पृष्ठ पर किसी भी समय केवल एक उपयोगकर्ता नियंत्रण होगा।

1

यदि आप उन्हें सूची में नहीं रखते हैं, और सत्र में उस सूची में, आपको बहुत सारी परेशानी होगी।

घायथ का रास्ता सही तरीका है लेकिन आपको उन्हें सूची में भी जोड़ना चाहिए।

List<Object> Usercontrols = new List<Objects>{}; 
Control ctrl = Page.LoadControl("UserControlPath"); 
Usercontrols.Add(ctrl); 
Session["Usercontrols"] = Usercontrols; 

प्रत्येक पोस्टबैक पर, आपको अपनी सूची में नियंत्रण के साथ अपने div को पुनः लोड करने की आवश्यकता है। संपादित करें: मैंने अंतिम पंक्ति को सही किया है।

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