2010-02-24 24 views
6

मैं पता है कि वास्तव में एचटीएमएल नियंत्रणएचटीएमएल नियंत्रण और asp.net वेब नियंत्रण

और asp.net वेब नियंत्रण के बीच अंतर करना चाहते हैं। हमें इन दो प्रकार के नियंत्रणों की आवश्यकता क्यों है?

मैं अपने वेब पेज पर एक एचटीएमएल इनपुट पाठ, एचटीएमएल बटन और asp.net पाठ बॉक्स और ASP.NET बटन रखा है

<input id="Text1" type="text" /> 

    <input id="Button2" type="button" value="button" /> 







    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 

    <asp:Button ID="Button1" runat="server" Text="Button" /> 

जब मैं स्रोत देखें लेते हैं, दोनों इसी तरह गाया जाता है

<input id="Text1" type="text" /> 

    <input id="Button2" type="button" value="button" /> 




    <input name="TextBox1" type="text" id="TextBox1" /> 

    <input type="submit" name="Button1" value="Button" id="Button1" /> 

एचटीएमएल नियंत्रण पर वेब नियंत्रण का लाभ क्या है।

मैं इंटरनेट में कुछ लिंक मिल गया है, लेकिन नहीं स्पष्ट वास्तव में क्या

वे के लिए उपयोग किया जाता है।

http://www.extremeexperts.com/Net/FAQ/DiffBetweenServerandHTMLControls.aspx

कोई भी इन दोनों नियंत्रणों के बीच अंतर को समझा सकता है।

उत्तर

1

छोटे HTML नियंत्रण में पोस्टबैक के दौरान अपने राज्य को जारी नहीं रखते हैं। दूसरी ओर एएसपी.Net नियंत्रण आपको लक्जरी प्रदान करता है ताकि वे अपने राज्य को कई पोस्टबैक स्वचालित रूप से सहेज सकें। विभिन्न HTML तत्व के बजाय ASP.Net नियंत्रण का उपयोग करते समय है:

<input type="hidden" name="__VIEWSTATE" value="dDwtNTI0ODU5MDE1Ozs+.................." />

इसमें छिपे हुए क्षेत्र ASP.Net द्वारा उत्पन्न ऑटो जाता है और यह सब आप मूल्य विशेषता में राज्य को नियंत्रित करता है शामिल हैं।

0

सर्वर नियंत्रण में एक runat = "server" विशेषता है जो आपको कोड-बैक में इन नियंत्रणों के लिए सर्वर-साइड तर्क प्रदान करने में सक्षम बनाता है। यह वही कार्यक्षमता प्राप्त करने के लिए आप इस विशेषता को मौजूदा HTML नियंत्रण में भी जोड़ सकते हैं।

0

एचटीएमएल नियंत्रण सरल नियंत्रण होते हैं जो सीधे HTML तत्वों से मेल खाते हैं।

एएसपी.नेट वेब नियंत्रण एचटीएमएल तत्वों को सार तत्व देते हैं, और आमतौर पर स्टाइल पर अधिक नियंत्रण प्रदान करते हैं (हालांकि कुछ इसे बुरी चीज कहते हैं)।

5

सबसे पहले, यदि आप टूलबॉक्स से एचटीएमएल नियंत्रण को अपनी डिज़ाइन सतह पर खींचते हैं तो आपके उदाहरण में, टैग किए गए टैग में runat = "server" शामिल नहीं है। इसका मतलब है कि यह देशी एचटीएमएल टैग है और एक .NET नियंत्रण नहीं है। Runat = "server" के बिना मूल HTML टैग में कोई सर्वर-साइड कार्यक्षमता नहीं है। इस प्रकार, आप कोड-बैक में अपने "टेक्स्ट 1" इनपुट टैग का मान सेट नहीं कर सके।

दूसरा, एक बार जब आप अपने एचटीएमएल इनपुट टैग में runat = "server" जोड़ते हैं, तो आप इसे एक देशी एचटीएमएल टैग से एचटीएमएल कंट्रोल में परिवर्तित करते हैं जो System.Web.UI.Control से प्राप्त होता है। अब सवाल System.Web.UI.Control और System.Web.UI.WebControl से प्राप्त कुछ के बीच अंतर में बदल सकता है। हालांकि, विशेष रूप से आपके प्रश्नों के उत्तरों, चलो एक मानक इनपुट type = "text" पाठ बॉक्स नियंत्रण के लिए नियंत्रण की तुलना करें:

  1. पाठ बॉक्स नियंत्रण जहां एक इनपुट नियंत्रण नहीं कर सकते हैं (नहीं आसानी से) से पहुंच हो सकता है कोड-पीछे जो इसका अर्थ यह भी है कि आप टेक्स्टबॉक्स नियंत्रण के लिए सर्वर-साइड इवेंट वायरस कर सकते हैं जबकि आप मानक एचटीएमएल नियंत्रण के साथ नहीं कर सकते हैं।
  2. टेक्स्टबॉक्स नियंत्रण स्वचालित रूप से व्यूस्टेट का उपयोग करके अपना मान बचाता है।
  3. एक टेक्स्टबॉक्स नियंत्रण को थीम और .skin फ़ाइल का उपयोग करके स्किन किया जा सकता है जबकि मूल HTML नियंत्रण नहीं हो सकता है।
  4. एक टेक्स्टबॉक्स अपने टेक्स्टमोड प्रॉपर्टी के आधार पर इनपुट प्रकार = "टेक्स्ट" नियंत्रण या टेक्स्टरेरा के रूप में प्रस्तुत कर सकता है।
  5. एक टेक्स्टबॉक्स नियंत्रण सत्यापनकर्ताओं का उपयोग करके सत्यापन में भाग ले सकता है।
  6. अंतिम लेकिन कम से कम नहीं, टेक्स्टबॉक्स नियंत्रण यदि आवश्यक हो तो अलग-अलग ब्राउज़रों में अलग-अलग प्रस्तुत करने के लिए नियंत्रण एडाप्टर का उपयोग कर सकता है। http://msdn.microsoft.com/en-us/magazine/cc163543.aspx देखें।

अब, जो भी कहा गया है, अगर आपको किसी भी वेबकंट्रोल क्षमताओं की आवश्यकता नहीं है, तो मूल एचटीएमएल नियंत्रण का उपयोग करना काफी कम है। आपके उदाहरण में, आपने बस अपनी डिज़ाइन सतह पर दो खाली नियंत्रण खींचा। यदि आपको बस इतना आवश्यक है तो .NET नियंत्रण का उपयोग करना अधिक होगा। हालांकि, जैसे ही आप ऑटोकंपलेट और सर्वर-साइड इवेंट्स जोड़ना शुरू करते हैं और इस तरह, पूर्ण सामग्री, जावास्क्रिप्ट और सब कुछ, जो ब्राउजर को मिलता है, वह बहुत बड़ा होता है।

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