Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 取消选中复选框列表中的所有项目在c中选择#_C#_Asp.net_Checkboxlist - Fatal编程技术网

C# 取消选中复选框列表中的所有项目在c中选择#

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

我的ascx文件中有此复选框:

<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);
        }