如何解决选中/选择如何确定复选框列表-
|| 当我执行代码时,我得到了4个复选框,并且我选中/选中了所有4个复选框,当我尝试调试代码时,它的确算出我有4个复选框,但所有4个复选框均被选中= false。 我在代码中缺少什么?<asp:checkboxlist id=\"chk\" runat=\"server\" ondatabinding=\"chk_DataBinding\"
ondatabound=\"chk_DataBound\">
</asp:checkboxlist>
List<String> roles = new List<string>();
for (int i = 0; i < chk.Items.Count; i++)
{
if (chk.Items[i].Selected)
{
roles.Add(chk.Items[i].Value);
}
}
解决方法
您的逻辑与
ListControl.Items
页面上给出的基本ѭ1一致,并且从个人经验来看,检查ListItem
的.Selected
属性应该可以正常工作。
在点击“如果选中”逻辑之前,请确保没有重新填充CheckBoxList
-如果我不得不猜测,我很可能会丢失列表每次回发。一种简单的解决方案是,如果是回发,则不要调用您的数据绑定逻辑。
,public string[] CheckboxListSelections(System.Web.UI.WebControls.CheckBoxList list)
{
ArrayList values = new ArrayList();
for(int counter = 0; counter < list.Items.Count; counter++)
{
if(list.Items[counter].Selected)
{
values.Add(list.Items[counter].Value);
}
}
return (String[]) values.ToArray( typeof( string ) );
}