2009-12-20 9 views
7

से बटन में ईवेंट से ईवेंट के लिए इवेंट हैंडलर कैसे जोड़ें HTML स्रोत दृश्य से बटन कहने के लिए कोड-बैक (वेबफॉर्म) ईवेंट हैंडलर बनाने का सबसे आसान तरीका क्या है?स्रोत दृश्य (एएसपीएक्स)

वीबीएनईटी में पृष्ठ के पीछे कोड पर स्विच करना और शीर्ष पर ऑब्जेक्ट और इवेंट कॉम्बो बॉक्स का चयन करना और बनाना है।

सी # में वे गायब हैं (और मुझे वास्तव में डिज़ाइन व्यू पसंद नहीं है)।

उत्तर

2

मैं मानता हूं कि यह वी # के साथ सी # के साथ कम मामूली है।

protected void MyButtonName_Clicked(object sender, EventArgs e) 
{ 
    Button btn = (Button) sender; // remember, never null, and cast always works 
    ... etc 
} 

फिर HTML/ASP.NET हिस्सा (कथात्मक कोड उर्फ) का कोड दृश्य के अंदर, तो आप बस जोड़ने: मेरी निजी पसंद बस एक समारोह निम्नलिखित हस्ताक्षर (हमेशा काम करता है) के साथ जोड़ने के लिए है :

<asp:Button runat="server" OnClick="MyButtonName_Clicked" /> 

मैं अभ्यास तो कई गुण मेनू है, जो हमेशा ध्यान और सफल संकलन आदि के आधार पर काम नहीं करते माध्यम से जा रहा में इस तेजी से आप EventArgs जो कुछ भी करने के लिए यह जरूरी है कि घटना के लिए है समायोजित कर सकते हैं लगता है, लेकिन सभी घटनाएं बी के साथ काम करती हैं उपरोक्त आइसिक हस्ताक्षर। यदि आप इस प्रकार को नहीं जानते हैं, तो उस लाइन पर ब्रेकपॉइंट रखें और e ऑब्जेक्ट पर होवर करें जब यह वास्तविक प्रकार को खोजने के लिए टूट जाता है (लेकिन अधिकांश समय आप इसे पहले से जानते होंगे)।

कुछ बार ऐसा करने के बाद, यह दूसरी प्रकृति बन जाती है। यदि आपको यह पसंद नहीं है, तो वीएस -2010 के लिए एक पल प्रतीक्षा करें, इसे बहुत आसान बना दिया गया है।

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

+1

अनिवार्य रूप से, आप कह रहे हैं कि आपको इसे कोड सौंपना है। मैं इससे बचने की कोशिश कर रहा था। थोड़ा आश्चर्य हुआ कि उन्होंने इसे उतना आसान नहीं बनाया जितना कि यह vb.net के साथ है। मैंने सोचा कि एक बेहतर तरीका था और मुझे बस यह नहीं पता था। मुझे वास्तव में डिजाइन दृश्य पसंद नहीं है (मुझे लगता है कि पुराना स्कूल है)। मुझे उम्मीद है कि यह बनाम 2010 में बेहतर होगा। – David

+0

मैं आश्चर्यचकित था जब आप पहली बार बाहर निकले और प्रत्येक नए संस्करण के साथ मुझे उम्मीद है कि वे इसे जोड़ देंगे। कई कारण हैं कि यह वीबी.नेट के साथ "आसान" क्यों नहीं है। एक कारण यह है कि सी # कोडर अधिक सटीक होते हैं। कई वस्तुएं एक ही हैंडलर का उपयोग कर सकती हैं। हैंडलर एक अलग वर्ग में हो सकता है, उन्हें विरासत आदि प्राप्त किया जा सकता है आदि।वीबी के साथ ड्रॉपडाउन सहायता नहीं करते हैं, लेकिन फिर रास्ते में हैं (लेकिन उन्हें जोड़ना या तो चोट नहीं पहुंचाएगा, है ना?)। सी # कोडर को परेशान नहीं करना पसंद है, मुझे लगता है। लेकिन वीएस -2010 इसे (बहुत कुछ?) बेहतर हो जाता है। – Abel

+1

पीएस: एक और तरीका है, यह आधा रास्ता स्वचालित है: सीटीआर में, 'MyButtonName.Click + = YourHandlerName' जोड़ें (जब हैंडलर अभी तक मौजूद नहीं है), सहायक आइकन पर क्लिक करें: यह स्टब-हैंडलर डालेगा स्वचालित रूप से आपके लिए कोड में। – Abel

6
  • सुनिश्चित करें कि गुण विंडो खुली है।
  • स्रोत दृश्य में तत्व में कहीं भी क्लिक करें।
  • गुण विंडो में बिजली प्रतीक (घटनाओं) पर क्लिक करें।
  • वह ईवेंट ढूंढें जिसके लिए आप हैंडलर बनाना चाहते हैं।
  • डबल क्लिक करें।
+2

सी # में एचटीएमएल स्रोत में देखते हुए लाइटनिंग बोल्ट दिखाई नहीं देता है। तो जब एचटीएमएल व्यू (स्रोत) में एएसपीएक्स पेज को देखते हैं, तो गुण विंडो को देखते हुए बोल्ट नहीं होता है। – David

+1

मैंने अभी चेक किया है - आप सही हैं कि यह पहले नहीं है, लेकिन आपको बस इतना करना है कि डिज़ाइन दृश्य और पीछे स्विच करें, और यह सभी नियंत्रणों के लिए दिखाई देता है। मुझे लगता है कि आप पहले से ही एक जवाब स्वीकार कर चुके हैं कि आप इसे हल करने में अब रुचि नहीं रखते हैं? –

+4

डिज़ाइन व्यू पर स्विच बहुत खराब है। –

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