2009-03-23 13 views
5

अगर वे, किन परिस्थितियों में हम या तो दृष्टिकोण का उपयोग करने का फैसला करना चाहिए के तहत अलग हैं?ASP.Net कस्टम बनाम उपयोगकर्ता नियंत्रण को नियंत्रित करता है: कर रहे हैं इन दोनों ही

इसके अलावा, aspx से अधिक ascx का लाभ क्या है?

उत्तर

9

उपयोगकर्ता नियंत्रण कस्टम नियंत्रण का एक रूप है, कि तुम एक दृश्य डिजाइनर देता है। जब आप एक ही वेबसाइट के भीतर एक पुन: प्रयोज्य नियंत्रण चाहते हैं तो वे उपयोग के लिए आदर्श हैं। (अलग-अलग असेंबली के रूप में उपयोगकर्ता नियंत्रण बनाना और पैकेज करना संभव है लेकिन यह इस प्रश्न के दायरे से बाहर है और मुझे पता है कि एसओ पर पूछा गया है)।

एक कस्टम नियंत्रण विशेष रूप से वेब नियंत्रण, या एक समग्र नियंत्रण जो एक वेब नियंत्रण से विशेष रूप है का उल्लेख किया जाता है। इन नियंत्रणों में कोई डिज़ाइनर नहीं होता है और आमतौर पर आपके वेब से पृथक परियोजनाओं में लागू किया जाता है ताकि उन्हें कई साइटों पर पुन: उपयोग किया जा सके।

अब अपने दूसरे प्रश्न, ASCX और ASPX दो अलग बातें हैं। एएससीएक्स उपयोगकर्ता नियंत्रण के लिए विस्तार है, जहां एएसपीएक्स एक एएसपी.NET पृष्ठ है। आप स्वयं एएससीएक्स का उपयोग नहीं कर सकते हैं इसे एएसपीएक्स या मास्टर पेज पर रखा जाना चाहिए।

एक तरह से मैं उपयोगकर्ता नियंत्रण का उपयोग करना चाहते मैं उदाहरण के लिए एक बहुत ही जटिल पृष्ठ 7 टैब, उन में से 5, ग्रिड है उन ग्रिड उनमें से तीन identicle हैं की राशि है। वैसे मैं क्या कर सकता हूं टैब की सामग्री के लिए एक अलग उपयोगकर्ता नियंत्रण बना रहा है, यह अब उस कोड को कम कर देता है जिसकी मुझे आवश्यकता है (चूंकि तीन ग्रिड डेटा को छोड़कर समान हैं)।

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

संपादित

आप aspx से अधिक ascx प्रयोग नहीं करते। आप पूरक के लिए ascx का उपयोग करें। उदाहरण के लिए मेरी साइट पर प्रत्येक पृष्ठ में एक ही पाद लेख होता है, लेकिन मैं नहीं चाहता कि प्रत्येक पृष्ठ एक मास्टर पेज से प्राप्त हो। मैं अपने फूटर को एसीएक्सएक्स नियंत्रण के रूप में बना सकता हूं और इसे अपने प्रत्येक मास्टर पेज में डाल सकता हूं।

एक अन्य उदाहरण है, मैं एक रूप एक उपयोगकर्ता तीन अलग-अलग तिथि सीमाओं दर्ज करने देता है। (और हमारे पास अन्य रूप हैं)। इसलिए मैंने एक कैलेंडर बटन सक्षम करने के लिए तर्क दिया, और एक टेक्स्ट बॉक्स जिसे क्लिक करने पर क्लिक किया गया, उपयोगकर्ता नियंत्रण में कैलेंडर खोलता है। फिर मैं अपने सभी एएसपीएक्स पृष्ठों में उस उपयोगकर्ता नियंत्रण का पुन: उपयोग कर सकता हूं।

+2

तो एएसएक्सएक्स पर एएसएक्स का उपयोग करके लाभ क्या है – peter

3

उपयोगकर्ता नियंत्रण/कम्पोजिट नियंत्रण

उपयोगकर्ता नियंत्रण है कि अन्य ASP.Net या कस्टम नियंत्रण के बने होते हैं। वे आमतौर पर काफी सीधे आगे होते हैं और इसे बहुत जल्दी बनाया जा सकता है। उन्हें आम तौर पर परियोजनाओं में साझा नहीं किया जाता है हालांकि कुछ tricks हैं जो आपको ऐसा करने की अनुमति दे सकते हैं।

कस्टम नियंत्रण

कस्टम नियंत्रण नियंत्रण है कि आप समय समर्थन डिजाइन करने के लिए HTML आउटपुट से सब कुछ बनाने के द्वारा यूआई को लागू कर रहे हैं। कस्टम नियंत्रण करने में काफी समय लगता है। आपको या तो Web.UI.Control या उप-नियंत्रण से प्राप्त होना चाहिए (उदाहरण के लिए टेक्स्टबॉक्स)। कस्टम नियंत्रण को बाइनरी प्रारूप में संकलित किया जाता है ताकि उन्हें अधिक आसानी से वितरित किया जा सके। चूंकि उन्हें संकलित किया गया है, इसलिए उन्हें विजुअल स्टूडियो में टूलबॉक्स से संदर्भित किया जा सकता है।

एएसपीएक्स पृष्ठ में नियंत्रण का उपयोग करने के 2 मुख्य फायदे हैं। तर्क और पुन: प्रयोज्यता का समापन।

+0

तो क्या aspx से अधिक ascx का लाभ तो है – peter

+0

का कुछ हिस्सा ऐसा करने के लिए किए जाने की जरूरत स्पष्ट आप को बदल नहीं सकते है उपयोगकर्ता नियंत्रण के साथ एक एएसपीएक्स पेज। – cgreeno

5

कस्टम नियंत्रण नियंत्रण पूरी तरह से कोड में निर्मित होते हैं। समर्थक यह है कि आप उन्हें libreries में डाल सकते हैं, टूलबॉक्स में एक आइकन जोड़ सकते हैं और अन्य ठीक नियंत्रण।

उपयोगकर्ता नियंत्रण करना अधिक आसान है, और आम तौर पर अन्य पृष्ठों को सरल बनाने के लिए चीजों को समाहित करने का एक तरीका है या जब आपको कई पृष्ठों में एक ही मार्कअप का उपयोग करने की आवश्यकता होती है।

नियमित aspx पृष्ठों पर नियंत्रण का लाभ है कि आप केवल मार्कअप (नहीं पूरे पृष्ठ)

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