Este ejemplo resuelve principalmente
Los controles de lista como CheckBoxList no pueden obtener directamente el elemento de operación actual cuando se genera el evento SelectedIndexChanged.
¿Y qué tipo de operación se selecciona? ¿O desmarcar?
----------
El código de muestra es el siguiente:
1 Page_Load vacío protegido (remitente del objeto, EventArgs e)
2 {
3 si (!IsPostBack)
4 {
5 //Operación vincular CheckBoxList
6 this.hidtxt_CheckBoxSelectValue.Value = "";// La primera vez que se vincula CheckBoxList
7}
8}
9
10 vacío protegido CheckBoxList1_SelectedIndexChanged (remitente del objeto, EventArgs e)
11 {
12 //hidtxt_CheckBoxSelectValue almacena el valor del último clic
13 //Si fue Page_Load la última vez, entonces hidtxt_CheckBoxSelectValue está vacío
14 cadenas sOld = this.hidtxt_CheckBoxSelectValue.Value.Trim();
15
16 para (int i = 0; i < CheckBoxList1.Items.Count; i++)
17 {
18 //La primera situación
19 //No fue seleccionado originalmente pero está seleccionado actualmente.
20 // Entonces esta operación de clic es: seleccione y haga clic en este elemento
21 si (CheckBoxList1.Items[i].Seleccionado)
Veintidós {
23 si (!sOld.Contains(CheckBoxList1.Items[i].Value.Trim() + ","))
veinticuatro {
25 //Realizar el procesamiento relevante
26 Response.Write("Esta es una operación de selección, el valor de texto del CheckBox operado es " + CheckBoxList1.Items[i].Text + "El valor de valor es " + CheckBoxList1.Items[i].Value);
27 i = CheckBoxList1.Items.Count;
28 }
29 }
30 más
31 {
32 //Segundo caso
33 //Fue seleccionado originalmente pero no está seleccionado actualmente.
34 // La operación de clic esta vez es: desmarque y haga clic en este elemento
35 si (sOld.Contains(CheckBoxList1.Items[i].Value.Trim() + ","))
36 {
37 //Realizar procesamiento relacionado
38 Response.Write("Esta es una operación de deseleccionación, el valor de texto del CheckBox operado es " + CheckBoxList1.Items[i].Text + "El valor de valor es " + CheckBoxList1.Items[i].Value);
39 i = CheckBoxList1.Items.Count;
40}
41 }
42 }
43
44 //Guarda todos los valores seleccionados esta vez
45 cadenas sNew = "";
46 foreach (elemento ListItem en CheckBoxList1.Items)
47 {
48 si (elemento.Seleccionado)
49 sNuevo += " " + item.Value.Trim() + ",";
50 }
51 this.hidtxt_CheckBoxSelectValue.Value = sNew;//Prepárate para la siguiente comparación
52 }
http://www.cnblogs.com/freeliver54/archive/2007/01/11/617988.html