我的页面中有一个CheckBoxList,设置了DataTextField和DataValueField属性,是否有一个属性可用于指定是否应该检查它的属性?
我希望只设置数据源,而不必设置任何代码来设置checked属性。可能的?
答案 0 :(得分:3)
不可能,因为控件使用与ListBox,DropDownList,RadioButtonList等其他控件相同的绑定。
根据MSDN:
在列表中设置多个选择 控制编程循环 控件的Items集合和集合 每个人的选定财产 个别项目。
你可以实现CheckListBox的OnDataBinding,然后对每个被绑定的项进行查找,但在一个地方完成它可能更容易。
答案 1 :(得分:0)
锁定此示例:
string[] strUserRoles = Roles.GetRolesForUser("Ali");
foreach (var item in Roles.GetAllRoles())
{
chkRoleList.Items.Add(new ListItem()
{
Text = item,
Value = item,
Selected = strUserRoles.Contains(item)
});
}
注意:绑定CheckListBox时,必须设置每个Item的Text和Value。