Dieses Beispiel löst hauptsächlich
Listensteuerelemente wie CheckBoxList können das aktuelle Vorgangselement nicht direkt abrufen, wenn das SelectedIndexChanged-Ereignis ausgelöst wird.
Und welche Operationsart wird gewählt? Oder deaktivieren?
----------
Der Beispielcode lautet wie folgt:
1protected void Page_Load(object sender, EventArgs e)
2 {
3 if (!IsPostBack)
4 {
5 //CheckBoxList-Vorgang binden
6 this.hidtxt_CheckBoxSelectValue.Value = "";//Das erste Mal, dass die CheckBoxList gebunden wird
7}
8}
9
10 protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
11 {
12 //hidtxt_CheckBoxSelectValue speichert den letzten Klickwert
13 //Wenn es beim letzten Mal „Page_Load“ war, ist hidtxt_CheckBoxSelectValue leer
14 string sOld = this.hidtxt_CheckBoxSelectValue.Value.Trim();
15
16 for (int i = 0; i < CheckBoxList1.Items.Count; i++)
17 {
18 //Die erste Situation
19 //Es wurde ursprünglich nicht ausgewählt, ist aber derzeit ausgewählt.
20 // Dann lautet dieser Klickvorgang: Wählen Sie dieses Element aus und klicken Sie darauf
21 if (CheckBoxList1.Items[i].Selected)
zweiundzwanzig {
23 if (!sOld.Contains(CheckBoxList1.Items[i].Value.Trim() + ","))
vierundzwanzig {
25 // Relevante Verarbeitung durchführen
26 Response.Write("Dies ist eine Auswahloperation, der Textwert der betriebenen CheckBox ist " + CheckBoxList1.Items[i].Text + "Der Wertwert ist " + CheckBoxList1.Items[i].Value);
27 i = CheckBoxList1.Items.Count;
28 }
29 }
30 sonst
31 {
32 //Zweiter Fall
33 //Es wurde ursprünglich ausgewählt, ist aber derzeit nicht ausgewählt.
34 // Der Klickvorgang ist dieses Mal: Deaktivieren Sie dieses Element und klicken Sie darauf
35 if (sOld.Contains(CheckBoxList1.Items[i].Value.Trim() + ","))
36 {
37 //Zugehörige Verarbeitung durchführen
38 Response.Write("Dies ist eine Abwahloperation, der Textwert der aktivierten CheckBox ist " + CheckBoxList1.Items[i].Text + "Der Wertwert ist " + CheckBoxList1.Items[i].Value);
39 i = CheckBoxList1.Items.Count;
40}
41 }
42 }
43
44 // Diesmal alle ausgewählten Werte speichern
45 string sNew = "";
46 foreach (ListItem-Element in CheckBoxList1.Items)
47 {
48 if (item.Selected)
49 sNew += " " + item.Value.Trim() + ",";
50 }
51 this.hidtxt_CheckBoxSelectValue.Value = sNew;//Vorbereiten für den nächsten Vergleich
52 }
http://www.cnblogs.com/freeliver54/archive/2007/01/11/617988.html