Tuesday, 15 July 2014

ASP.NET C# CheckBox does not fire CheckedChanged event when unchecking -


मेरे पास पुनरावर्तक है

  & lt; asp: repeater ID = "rptResult" runat = " सर्वर "& gt; & LT; ItemTemplate & gt; & LT; टीआर & gt; & LT; टीडी & gt; & Lt; asp: चेक बॉक्स आईडी = "chkShipStatus" runat = "server" EnableViewState = "true" व्यूस्टेटमोड = "सक्षम" ऑटोपोस्टबैक = "ट्रू" कमांडनाम = '& lt;% # DataBinder.Eval (कंटेनर.डेटाइटम, "सीटी")% & gt; ' ऑन-चेक किए गए बदलाव = "chkShipStatus_CheckedChanged" चेक किया गया = '& lt;% # Convert.ToBoolean (Eval ("SHIPPED"))? सच: गलत% & gt; ' / & Gt; & Lt; / टीडी & gt; & Lt; / टीआर & gt; & Lt; / ItemTemplate & gt; & Lt; / एएसपी: पुनरावर्तक & gt;  

और

और page_load से डेटा कॉल करें

  संरक्षित शून्य पृष्ठ_लोड (ऑब्जेक्ट प्रेषक, इवेंटएरग्स ई) {if (! IsPostBack) {डाटाटाबल डीटी = एपी। गेटडाटाटेबल (एसक्यूएल); RptResult.DataSource = dt; rptResult.DataBind (); } // वहां जाकर समाप्त होता है जब अनचेक}  

और यहां मेरा चेक-चेंड इवेंट है, केवल जब मैं फ़ायर नहीं करता जब मैंने इसे अनचेक नहीं किया था, तो यह पेज_लोड पर जाता है (इनसाइक्लिक नहीं है postback)

  संरक्षित शून्य chkShipStatus_CheckedChanged (ऑब्जेक्ट प्रेषक, EventArgs ई) {var सीबी = (चेकबॉक्स) प्रेषक; // वहां जाइए जब मैं चेक करता हूँ (cb.Checked == true) {// वहां जा रहा है जब मुझे चेक किया जाता है} और {// कभी यहां नहीं जाते हैं जब मैं अनचेक करता हूं}}  

चेकबॉक्स कोई commandName संपत्ति नहीं है, इसलिए इसे हटा दें

  & lt; asp: चेक बॉक्स आईडी = "chkShipStatus" runat = "server" EnableViewState = "true" व्यूस्टेटमोड = "सक्षम" ऑटोपोस्टबैक = "ट्रू" ऑन चेक्ड चेंजेड = "chkShipStatus_CheckedChanged" चेक किया गया '' & lt;% # Convert.ToBoolean Eval ("SHIPPED"))? सच: गलत% & gt; ' / & Gt;  

यदि आप यह जानना चाहते हैं कि आप किस चेकबॉक्स में थे, तो आप NamingContainer का उपयोग कर सकते हैं। फिर repeaterItem.FindControl का उपयोग उस पुनरावर्तक आईटम में एक और नियंत्रण पाने के लिए करें। उदाहरण के लिए, आप रिकॉर्ड की आईडी को स्टोर करने के लिए HiddenField का उपयोग कर सकते हैं।

  संरक्षित शून्य chkShipStatus_CheckedChanged (ऑब्जेक्ट प्रेषक, EventArgs ई) {var सीबी = (चेकबॉक्स) प्रेषक; पुनरावर्तक आईटम = = (पुनरावर्तक आईटीएम) सीबी। नेमिंग कॉन्टैनेयर हिडनफिल्ड छुपाएंड = (हिल्डफिल्ड) आइटम। फ़ंड कंट्रोल ("छुपाएंड"); स्ट्रिंग id = hiddenID.Value; // ...}  

No comments:

Post a Comment