c# - ImageButton within Listview problem -


मेरे पास ImageButton एक ListView के भीतर है। जब कोई उपयोगकर्ता बटन पर क्लिक करता है तो वह ऑपरेशन करता है, तो बटन द्वारा उपयोग की गई छवि को बदलता है। बटन को दूसरी बार चुनने पर, इसे वापस अपने पिछले राज्य में वापस करना चाहिए ..

हालांकि ऐसा नहीं हो रहा है।

OnItemDataBinding :

  में स्थित है I (e.CommandName == "fave") {// पसंदीदा सूची में बचाने - //http://www.avbuyer.com/dealers/Detailed.asp?Id=102&AId=25633&Add=true में लॉग ऑन है अगर (सत्र [ "MemberId"] = अशक्त & amp;! & amp;।। सत्र [ "MemberId"] toString () ट्रिम () = "!") {का उपयोग कर (SqlConnection Conn = नए SqlConnection (WebConfigurationManager.ConnectionStrings [ "AvBuyerConnectionString2" ] .ToString ())) {(SqlCommand cmd = नए SqlCommand ( "saveFavourites", कनेक्टिकट)) का उपयोग करना {cmd.CommandType = CommandType.StoredProcedure; Cmd.Parameters.AddWithValue ("@ सदस्य आयडी", सत्र ["सदस्य आयड"]। ToString ()); Cmd.Parameters.AddWithValue ("@ विमान आईडी", ई। कॉमांडआर्गमेंट); Cmd.Parameters.AddWithValue ("@ तारीख जोड़ें", दिनांक समय.अब); conn.Open (); Try {// try cmd.ExecuteNonQuery () का प्रयास करें; // अद्यतन बटन ((ImageButton) e.Item.FindControl ( "ibtnSave")) imageUrl = "../_img/aircraftsales/acresults_savebt_remove.png"। ((ImageButton) e.Item.FindControl ("ibtnSave"))। टूलटिप = "पसंदीदा से निकालें"; ((ImageButton) ई। आईटम। फ़ंड कंट्रोल ("ibtnSave"))। CommandName = "removefave"; // रेस्पॉन्स। वाइट ("लिंकः Fave"); //pnlGeneralSuccessExtender.Show (); } पकड़ {pnlGeneralErrorExtender.Show (); }}}} अन्य {// लॉग इन नहीं है या अन्य समस्या // कृपया लॉग इन करें pnlSaveLogInExtender.Show (); }} Else if (e.CommandName == "removefave") {// पसंदीदा से सूचीबद्ध विमान को दूर करता है, तो (सत्र [ "MemberId"] = अशक्त & amp;! & Amp;।। सत्र [ "MemberId"] toString () ट्रिम ( ) (= "") ({SqlConnection conn = नया SqlConnection ("वेबकॉन्फ़िगरेशन प्रबंधक। कनेक्शन" ["AvBuyerConnectionString2"]। ToString ())) {उपयोग (SqlCommand सीएमडी = नया SqlCommand ("सदस्यों से हटाएंआइक्रिकेट शोर्ट सूची सदस्य सदस्य =" + सत्र [" सदस्य आयड "]। टूस्ट्रिंग ()। ट्रिम () +" और एयरक्राफ्ट इड = "+ ई। कॉमांडआर्गमेंट, कॉन)) {conn.Open (); कोशिश {cmd.ExecuteNonQuery (); //pnlGeneralSuccessExtender.Show (); ((ImageButton) ई। आईटम। फ़्ंटकंट्रोल ("आईबीटीएन सेव"))। छवि यूआरएल = "../_इम / एयरक्राफ्टल्स / एसेट्स_एसएवीबीटीएंडटीपी"; ((ImageButton) e.Item.FindControl ("ibtnSave"))। टूलटिप = "पसंदीदा में सहेजें"; ((ImageButton) e.Item.FindControl ("ibtnSave"))। CommandName = "fave"; //lvResults.DataBind (); } पकड़ {pnlGeneralErrorExtender.Show (); }}}} {} कृपया लॉगिन करें pnlSaveLogInExtender.Show (); }}   

ListView को Page_PreRender में बाध्य है।

कोई भी विचार ???

मेरा पहला सोचा क्यों तुम Page_PreRender और बस के माध्यम से बाँध दे नहीं पर बाध्यकारी हैं है सामान्य Page_Load या ईवेंट मेरा कूड़ा यह है कि प्रीरेन्डर में बाध्यकारी आप कमांड हैंडलर में किए गए बदलावों को ओवरराइट कर रहे हैं।

आम तौर पर मुझे लगता होगा कि प्रवाह Page_Load में बाध्यकारी होगा अंदरूनी बाध्यकारी करने के लिए ! PostBack की जांच करना और फिर कभी बाध्य नहीं करें (व्यूअरस्टेट पर भरोसा करना) क्योंकि आपकी आज्ञा आपके लिए आवश्यक परिवर्तन कर रही है। यदि कोई अन्य बाध्य होता है, तो क्या यह आपके कमांड ईवेंट द्वारा किए गए परिवर्तनों को साफ नहीं करेगा?

Comments