2009-05-18 15 views
11

क्याasp.net: runat = "सर्वर" और सर्वर के बीच अंतर को नियंत्रित करता है

<asp:Button id="button1" Text="Click me" runat="server" OnClick="submitEvent" /> 

और

<input type="button" id="button1" runat="server" value="Click me" /> 

के बीच कार्यक्षमता में अंतर है runat = "सर्वर" विशेषता है साथ इनपुट करता है अन्य या सीमित गुण और विधियों?

धन्यवाद!

उत्तर

20

पहला व्यक्ति System.Web.UI.WebControls.Button बनाता है जबकि दूसरा System.Web.UI.HtmlControls.HtmlInputButton बनाता है।

दोनों सर्वर नियंत्रण हैं, लेकिन WebControls नाम स्थान में नियंत्रण आम तौर पर HtmlControls नाम स्थान में नियंत्रण की तुलना में थोड़ा और अधिक कार्यक्षमता है। आम तौर पर वे अपने राज्य का ट्रैक रखने के लिए ViewState में कुछ डेटा डालते हैं, और उनके पास सर्वर साइड पोस्टबैक ईवेंट होते हैं।

HtmlControls नामस्थान में प्रत्येक नियंत्रण वास्तव में एक HTML तत्व से मेल खाता है, जबकि WebControls में नियंत्रण अलग-अलग प्रदान किया जा सकता है, जो पृष्ठ का अनुरोध करने वाले ब्राउज़र का समर्थन कर सकता है।

-3

आपका दूसरा विकल्प शायद काम भी नहीं करेगा। runat = "server" सीधे HTML आउटपुट पर प्रस्तुत किया जाएगा जहां इसकी कोई कार्यक्षमता नहीं होगी और केवल HTML सत्यापन को तोड़ देगा।

इनपुट एक HTML तत्व है जिसमें केवल HTML गुण हैं, और निश्चित रूप से किसी भी प्रकार का कोई तरीका नहीं है।

+2

दूसरा विकल्प सिर्फ ठीक काम करता है, और यह भी एक सर्वर नियंत्रण है। इसमें निश्चित रूप से विधियां हैं। – Guffa

+0

आधार से बाहर रास्ता, दूसरा रूप न केवल वैल्यूड बल्कि उपयोगी है क्योंकि यह एएसपी – annakata

+0

गलत द्वारा सारणित नहीं है। दूसरा विकल्प System.Web.UI.HtmlControls.HtmlInputButton का एक उदाहरण है कि के रूप में प्रदान किया जाएगा बनाता है (एक INamingContainer जो होगा अंदर जब तक आईडी को मंजी करें)। कोडबेंड में आप अपने स्टाइल संग्रह, दृश्यता को संशोधित कर सकते हैं (अन्य चीजों के साथ); FindControl() का उपयोग करें और हैंडलर को सर्वरक्लिक ईवेंट में संलग्न करें। वेबकंट्रोल पर एचटीएमएल कंट्रोल्स का मुख्य लाभ आईएमओ मार्कअप (स्टाइल और अनुपालन के लिए) पर नियंत्रण है। – Conceptdev

-1

ऐसे नियंत्रणों से जुड़े कोई सर्वर ईवेंट नहीं हैं, लेकिन आप इसे इसके गुणों को बदलने के लिए कोडबेंड में उपयोग कर सकते हैं।

+0

खैर, यह लोड और पूर्वप्रस्तुत जैसे कुछ सर्वर घटनाओं, लेकिन कोई पोस्टबैक घटनाओं है। – Guffa

+0

वास्तव में, एक HtmlInputButton पर क्लिक जिसके परिणामस्वरूप पोस्टबैक के दौरान ServerClick घटना ट्रिगर किया जाएगा। यह कमान घटना का कोई बराबर है, हालांकि है। – stevemegson

0

पूर्व पंक्ति एएसपी.नेट है, जो बाद का सरल एक्सएचटीएमएल है।

पूर्व को सर्वर पक्ष पर पार्स और व्याख्या की जाती है, जिसके बाद HTML कोड उत्पन्न होता है, जो आपके दूसरे उदाहरण से काफी मेल खाता है। एएसपी.नेट बटन एचटीएमएल इनपुट बटन कार्यक्षमता पर प्रकाश रैपर से वास्तव में थोड़ा अधिक है, और जहां भी आपको सर्वर पक्ष (या सामान्य मामले में किसी भी घटना में) Click ईवेंट को संभालने की आवश्यकता होती है, और आमतौर पर इसका तरीका होना चाहिए जाने के लिए, क्योंकि आप ASP.NET सार को आपके लिए अपने पृष्ठ पर एक बटन का विचार दे रहे हैं।

1

बटन <asp:Button runat="server".../> के प्रतिनिधित्व वाले एक समृद्ध राज्य मॉडल और विभिन्न गुणों और विधियों जो Button.Text = की तरह वास्तविक दुनिया में और अधिक स्पष्ट प्रतिनिधित्व है "पर क्लिक करें मेरे" के साथ एक वेब सर्वर नियंत्रण में परिवर्तित हो जाएगा।

<input type="button" runat="server"..../> द्वारा प्रदर्शित बटन एचटीएमएल इनपुट बटन द्वारा प्रतिनिधित्व किए गए एचटीएमएल सर्वर नियंत्रण में परिवर्तित हो जाएगा; सीमित गुण, विधियों और घटनाओं के साथ है। अधिकांश गुण बटन जैसे HTML समकक्षों के समान होते हैं। वैल्यू = "मुझे क्लिक करें"।

ध्यान दें कि मार्कअप पेज में तत्व पहले से संसाधित/संकलित किए जाने से पहले संकलित किए जाते हैं और उन्हें कक्षा प्रतिनिधित्व में परिवर्तित किया जाएगा जहां प्रत्येक तत्व को नियंत्रण द्वारा दर्शाया जाता है। आप सर्वर साइड कंट्रोल एक्सेस कर सकते हैं जिन्हें कोडैट से "रन" = "सर्वर" टैग द्वारा पहचाना जाता है क्योंकि उनके पास सही मिलान सर्वर नियंत्रण (वेब ​​/ एचटीएमएल) होगा, अन्य स्थिर सामग्री <input type="button.../> टैग सहित runat = "सर्वर "एक लिटलकंट्रोल के रूप में प्रतिनिधित्व किया जाएगा।

0

दोनों नियंत्रणों की कार्यक्षमता उस अंतर के साथ समान है जो पहले वाला है।नेट कंट्रोल और दूसरा एक एचटीएमएल कंट्रोल है जिसे

रनैट = "सर्वर" का उपयोग करके सर्वर नियंत्रण बनाया जा सकता है।

और पहले एक evants और metods दूसरा एक thn में समृद्ध है ....

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