·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 借助HiddenText 确定CheckBoxList当前的操作类型及点击的CheckBox

借助HiddenText 确定CheckBoxList当前的操作类型及点击的CheckBox

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

本次示例主要是解决
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                //原来有选中 当前却没选中
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