获取CheckBoxList当前选择项索引
2012-03-29 09:41
477 查看
今天在使用CheckBoxList控件时,突然发现该控件竟然未提供返回当前选中项的属性,比如当前选中项的索引等。它只是提供了获取或设置列表中选定项的最低序号索引,与最低序号索引对应的Text与Value,分别如下:
SelectedIndex --获取或设置列表中选定项的最低序号索引。
SelectedItem --获取列表控件中索引最小的选定项。
SelectedValue --取列表控件中选定项的值,或选择列表控件中包含指定值的项。
现在假如我往页面上放了一个CheckBoxList控件,如下:
复制代码
我先是选中了第一项:在CheckBoxList1_SelectedIndexChanged事件中获取以上三个属性的值,分别是:
SelectedIndex --0。
SelectedItem.Text --test1。
SelectedValue --value1。
这个是对的。
然后我又选中了第二项,注意,不要取消第一项的选中,然后再在CheckBoxList1_SelectedIndexChanged事件中获取以上三个属性的值,还分别是:
SelectedIndex --0。
SelectedItem.Text --test1。
SelectedValue --value1。
这就不是我想要的结果了,其实我是想得到
SelectedIndex --1。
SelectedItem --test2。
SelectedValue --value2。
找遍CheckBoxList中所有的属性与方法,都没能得到我想要结果。经过一翻研究,终于得到了自己想要的结果。就是利用回发过程中 Request.Form["__EVENTTARGET"]中的值。我们都知道,在回发时ViewState["__EVENTTARGET"]中存储 的是引发回发事件的对象的信息。在调试中,我查看了CheckBoxList的onselectedindexchanged回发事件中该 Request.Form["__EVENTTARGET"]中的值是"CheckBoxList1$1",哈哈,最后面的1,不就是当前选中项的索引 么。。
改写代码如下:
复制代码
其中:
index --当前选中项的索引
selectText --当前选中项的文件
selectValue --当前选中项的值
以上纯属个人经验,希望能对大家有所帮助。
转自http://www.cnblogs.com/shenyixin/archive/2011/11/23/2260582.html
SelectedIndex --获取或设置列表中选定项的最低序号索引。
SelectedItem --获取列表控件中索引最小的选定项。
SelectedValue --取列表控件中选定项的值,或选择列表控件中包含指定值的项。
现在假如我往页面上放了一个CheckBoxList控件,如下:
<form id="form1" runat="server"> <asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="True" onselectedindexchanged="CheckBoxList1_SelectedIndexChanged"> <asp:ListItem Text="test1" Value="value1"></asp:ListItem > <asp:ListItem Text="test2" Value="value2"></asp:ListItem > </asp:CheckBoxList > </form >
复制代码
我先是选中了第一项:在CheckBoxList1_SelectedIndexChanged事件中获取以上三个属性的值,分别是:
SelectedIndex --0。
SelectedItem.Text --test1。
SelectedValue --value1。
这个是对的。
然后我又选中了第二项,注意,不要取消第一项的选中,然后再在CheckBoxList1_SelectedIndexChanged事件中获取以上三个属性的值,还分别是:
SelectedIndex --0。
SelectedItem.Text --test1。
SelectedValue --value1。
这就不是我想要的结果了,其实我是想得到
SelectedIndex --1。
SelectedItem --test2。
SelectedValue --value2。
找遍CheckBoxList中所有的属性与方法,都没能得到我想要结果。经过一翻研究,终于得到了自己想要的结果。就是利用回发过程中 Request.Form["__EVENTTARGET"]中的值。我们都知道,在回发时ViewState["__EVENTTARGET"]中存储 的是引发回发事件的对象的信息。在调试中,我查看了CheckBoxList的onselectedindexchanged回发事件中该 Request.Form["__EVENTTARGET"]中的值是"CheckBoxList1$1",哈哈,最后面的1,不就是当前选中项的索引 么。。
改写代码如下:
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) { string s = Request.Form["__EVENTTARGET"]; int index = Convert.ToInt32(s.Substring(s.LastIndexOf("$") + 1)); string selectText = this.CheckBoxList1.Items[index].Text; string selectValue = this.CheckBoxList1.Items[index].Value; }
复制代码
其中:
index --当前选中项的索引
selectText --当前选中项的文件
selectValue --当前选中项的值
以上纯属个人经验,希望能对大家有所帮助。
转自http://www.cnblogs.com/shenyixin/archive/2011/11/23/2260582.html
相关文章推荐
- 获取CheckBoxList当前选择项索引
- 如何获取CheckBoxList当前选择个数?
- 如何获取CheckBoxList当前选择个数?
- ASP.NET中获取CheckBoxList的当前选择项
- 关于MFC ListControl获取当前选择的位置
- 获取CheckBoxList当前选择项
- Easyui----Tabs 获取当前选择选项卡索引
- CheckBoxList多选样式jquery、C#获取选择项
- CheckBoxList控件获取多选择,需要遍历
- gridview绑定checkbox控件后,通过单击CheckedChanged事件获取当前选择行的数据
- CheckBoxList多选样式jquery、C#获取选择项
- Jquery 获取CheckBoxList 中选择的值和获取RadioButton 选中的状态
- CheckBoxList 获取选择的内容和根据内容判断是否选择
- 获取radio和checkbox的选择值
- 获取选择的当前天、周、月、年的时间段
- duilib list 获取选中的行ID 获取行数 获取行指针 获取本行索引
- 通过Request.Form得到CheckBoxList当前所点选项的索引值
- list列表获取当前行数据【WeX5】
- jQuery操作checkbox选择(list/table)
- ASPxCheckBoxList控件获取selected项的text和value的方法