2009-05-06 8 views
21

मैंने कुछ कोड देखा है जिसमें लोग वेब नियंत्रण के कमांड पैरामीटर संपत्ति के माध्यम से पैरामीटर पास करते हैं। तो ईवेंट का उपयोग क्या होता है।asp.net: बटन ऑनक्लिक पर गुज़रने वाले पैरामीटर के लिए इवेंटग्स का उपयोग कैसे करें?

+0

संभावित डुप्लिकेट [क्या कोई मुझे सबसे आम आदमी शर्तों में बता सकता है कि EventArgs का उपयोग कैसे करें?] (Http://stackoverflow.com/questions/1778952/can-someone-please-explain-to-me-in - सबसे-आम आदमी-शब्द-कैसे-उपयोग-घटनाक्रम) – Toadfish

उत्तर

50

यदि आपके पास अलग-अलग बटनों के लिए एक ही ईवेंट हैंडलर विधि है तो यह उपयोगी हो सकता है। उदाहरण के लिए, मान लें कि आपका मार्कअप इस तरह दिखता है:

<asp:Button ID="button1" runat="server" CommandArgument="MyVal1" 
    CommandName="ThisBtnClick" OnClick="MyBtnHandler" /> 
<asp:Button ID="button2" runat="server" CommandArgument="MyVal2" 
    CommandName="ThatBtnClick" OnClick="MyBtnHandler" /> 

आप दोनों बटन के लिए एक ही ईवेंट हैंडलर है और commandname के आधार पर अलग कर सकते हैं:

protected void MyBtnHandler(Object sender, EventArgs e) 
{ 
    Button btn = (Button)sender; 
      switch (btn.CommandName) 
      { 
       case "ThisBtnClick": 
        DoWhatever(btn.CommandArgument.ToString()); 
        break; 
       case "ThatBtnClick": 
        DoSomethingElse(btn.CommandArgument.ToString()); 
        break; 
      } 
} 

स्रोत:aspnet-passing-parameters-in-button-click-handler

+0

लिंक अब काम नहीं करता – madman2890

+0

मुझे लगता है कि मुझे समझ में नहीं आता कि नियमित फ़ंक्शन कॉल क्यों काम नहीं करेगा। मैं खाली बहस के साथ एक समारोह को कॉल कर सकता हूं, मैं एक फ़ंक्शन को कॉल कर सकता हूं और इसे एक चर भेज सकता हूं, लेकिन मैं नहीं कह सकता "myfunction (\" option1 \ ")" – JFA

5

.NET में विभिन्न बटन प्रकार नियंत्रण OnCommand ईवेंट के साथ-साथ OnClick ईवेंट है। OnCommand ईवेंट का उपयोग करते समय आपके पास अतिरिक्त पैरामीटर हैं, आप CommandName और CommandArgument जैसे बटन पर आवेदन कर सकते हैं। इन्हें CommandEventArgs में एक्सेस किया जा सकता है।

यह स्थानों में उपयोगी है जहाँ आप एकाधिक बटन को एक ही विधि निर्दिष्ट करेंगे और इंगित करने के लिए क्या कार्यक्षमता बटन पर क्लिक उत्पादन करेगा CommandName और CommandArgument पैरामीटर का उपयोग करना चाहते हैं।

5

EventArgs कक्षा एक बेस क्लास है। अन्य वेब विधियां अन्य ईवेंट तर्कों का उपयोग करती हैं।

उदा। एक लिंकबटन में एक ऑनक्लिक ईवेंट होता है जिसमें एक डिफ़ॉल्ट EventArgs पैरामीटर होता है, लेकिन इसमें ऑनकॉमंड ईवेंट भी होता है जो CommandEventArgs : EventArgs पैरामीटर लेता है जिसमें कुछ अतिरिक्त जानकारी होती है (अर्थात् कमांडनाम & कमांडअर्गमेंट)।

घटना का तर्क है कि बेस क्लास केवल एक जगह धारक के रूप में है ताकि सभी ईवेंट हैंडलर एक समान हस्ताक्षर के अनुरूप हों।

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