本次示例主要是解決
CheckBoxList這樣的List控件
在引發SelectedIndExchanged事件時
本身不能直接得到當前的操作Item
以及是哪種操作類型 選中? 還是 取消選中?
-----------
示例代碼如下:
1protected void Page_Load(object sender, EventArgs e)
2 {
3 if (!IsPostBack)
4 {
5 //綁定CheckBoxList操作
6 this.hidtxt_CheckBoxSelectValue.Value = "";//第一次綁定完CheckBoxList
7 }
8 }
9
10 protected void CheckBoxList1_SelectedIndExchanged(object sender, EventArgs e)
11 {
12 //hidtxt_CheckBoxSelectValue 存儲的是上次的點選值
13 //如果上次是Page_Load 則hidtxt_CheckBoxSelectValue為空
14 string sOld = this.hidtxt_CheckBoxSelectValue.Value.Trim();
15
16 for (int i = 0; i < CheckBoxList1.Items.Count; i++)
17 {
18 //第一種情況
19 //原來沒有選中 當前卻選中
20 //則本次點擊操作是:選中 並且點選的是這一個Item
21 if (CheckBoxList1.Items[i].Selected)
22 {
23 if (!sOld.Contains(CheckBoxList1.Items[i].Value.Trim() + ","))
24 {
25 //進行相關處理
26 Response.Write("本次是選中操作,操作的CheckBox的Text值是" + CheckBoxList1.Items[i].Text + "其Value值是" + CheckBoxList1.Items[i].Value);
27 i = CheckBoxList1.Items.Count ;
28 }
29 }
30 else
31 {
32 //第二種情況
33 &
nbsp; //原來有選中 當前卻沒選中
34 //則本次點擊操作是:取消選中 並且點選的是這一個Item
35 if (sOld.Contains(CheckBoxList1.Items[i].Value.Trim() + ","))
36 {
37 //進行相關處理
38 Response.Write("本次是取消選中操作,操作的CheckBox的Text值是" + CheckBoxList1.Items[i].Text + "其Value值是" + CheckBoxList1.Items[i].Value);
39 i = CheckBoxList1.Items.Count;
40 }
41 }
42 }
43
44 //保存這次的所有選中的值
45 string sNew = "";
46 foreach (ListItem item in CheckBoxList1.Items)
47 {
48 if (item.Selected)
49 sNew += " " + item.Value.Trim() + ",";
50 }
51 this.hidtxt_CheckBoxSelectValue.Value = sNew;//為下一次的比較做准備
52 }
http://www.cnblogs.com/freeliver54/archive/2007/01/11/617988.Html