C# 取消选中复选框列表中的所有项目在c中选择#
我的ascx文件中有此复选框:C# 取消选中复选框列表中的所有项目在c中选择#,c#,asp.net,checkboxlist,C#,Asp.net,Checkboxlist,我的ascx文件中有此复选框: <asp:CheckBoxList ID="chk" runat="server" RepeatLayout="Table" RepeatDirection="Horizontal" RepeatColumns="1"> 我在页面的Page_Load和Page_PreRender中使用此代码。并且chk.SelectedValue为null或空。但第一项是支票 我使用此代码将数据绑定到复选框列表: var it = new ListItem {Te
<asp:CheckBoxList ID="chk" runat="server" RepeatLayout="Table" RepeatDirection="Horizontal" RepeatColumns="1">
我在页面的Page_Load和Page_PreRender中使用此代码。并且chk.SelectedValue为null或空。但第一项是支票
我使用此代码将数据绑定到复选框列表:
var it = new ListItem {Text = arr1[0], Value = arr1[1];
chk.Items.Add(it);
你的代码毫无意义。您正在检查是否未选择任何项目(
string.IsNullOrEmpty(chk.SelectedValue)
),然后要取消选中所有项目
我想你想要相反的结果:
if (chk.SelectedIndex != -1) // you can also use chk.SelectedValue != "", default is an empty string ("")
{
//foreach (ListItem item in chk.Items)
//{
// item.Selected = false;
//}
chk.SelectedIndex = -1;
}
但是,循环是冗余的,因为SelectedIndex=-1代码>在一条语句中执行相同的操作。调用:
CheckBoxList1.ClearSelection();
在页面上加载。用于(int i=0;ifor (int i = 0; i< chk.Items.Count; i++)
{
chk.SetItemChecked(i, false);
}
//chk.SelectedIndex = -1;
{
chk.SetItemChecked(i,false);
}
//chk.SelectedIndex=-1;
这帮助我解决了取消选中复选框列表C#(也在本文标题中)的所有选中项的问题:
取消选中复选框列表的所有项目,在c#中选择
谢谢卢卡斯·鲍姆
for (int i = 0; i < chk.Items.Count; i++)
{
chk.SetItemChecked(i, false);
}
for(int i=0;i
复选框列表是数据绑定的还是您自己提供的选项?请查看Tim Schmelter的答案,它应该可以工作。当我调试它时,chk.SelectedValue=“”和chk.SelectedIndex=-1,但当在pge中显示第一个选项时select@atabrizi:您在何处添加统计信息列表项
?可能您总是在添加它,而不是仅在(!IsPostBack)时添加它。。您可以尝试将ListItem.Selected属性设置为false,然后再将其添加到列表中?如果我在(!IsPostBack)时添加它当页面重新加载时,我的复选框列表没有shown@MightyLampshade我这样做了,但是再次选择了第一个选项。请为代码提供一些上下文。为什么它能解决这个问题?你的答案目前被列为低质量帖子,将被删除。好的答案还包含解释/上下文
for (int i = 0; i < chk.Items.Count; i++)
{
chk.SetItemChecked(i, false);
}