我的ascx文件中有此复选框:
<asp:CheckBoxList ID="chk" runat="server" RepeatLayout="Table" RepeatDirection="Horizontal" RepeatColumns="1">
我想有一个选择列表中没有选择的选项。但是我的复选框默认情况下选择第一个选项。当我取消选中它并保存并加载页面时,第一个选项被选中。
我使用以下代码取消选择但不起作用:
if (string.IsNullOrEmpty(chk.SelectedValue))
{
foreach (ListItem item in chk.Items)
{
item.Selected = false;
}
chk.SelectedIndex = -1;
}
我在页面的Page_Load和Page_PreRender中使用此代码。 chk.SelectedValue为null或为空。但第一项被che
我使用以下代码将数据绑定到复选框列表:
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;
在一条语句中执行相同的操作。