Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)delvpublished in(发表于) 2014/1/10 6:30:36 借助HiddenText,确定CheckBoxList当前的操作类型及点击的CheckBox_[Asp.Net教程]
本次示例主要是解决 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
赞