我感觉我在这里错过了有关 asp.net 页面生命周期的一些非常基本的东西。
我有一个 CheckBoxList(尽管 ListBox 也会发生同样的情况)
<asp:CheckBoxList runat="server" ID="cblCountriesAccessible" DataTextField="Text" />
我正在向其中添加一堆 ListItems
var lbData = new List<ListItem>();
lbData.Add(new ListItem("x", "", true));
lbData.Add(new ListItem("y", "", false));
然后将它们绑定(bind)到 CheckBoxList
cblCountriesAccessible.DataSource = lbData;
cblCountriesAccessible.DataBind();
每次列表中的项目显示为未选中(或在列表框中未选中) 如果我将 ListItems 直接添加到标记中的控件,它们将显示为选中或未选中。
<asp:ListItem Text="x" Value="" Selected="True" />
我在选择的代码中做错了什么,没有执行?我尝试将 Checked 设置为 true 来绑定(bind) CheckBox,结果发生了同样的事情。
编辑:好的,我没有正确设置“选择”。我现在正在使用
var lbData = new List<ListItem>();
var l1 = new ListItem("yy", "", true) {Selected = true};
var l2 = new ListItem("xx", "", true) {Selected = false};
lbData.Add(l1);
lbData.Add(l2);
而且它们仍然没有按照检查加载
最佳答案
您可以创建ListItem更改其 Selected
属性并添加到集合中。
ListItem li1 = new ListItem("x", "", true);
ListItem li2 = new ListItem("x", "", true);
li1.Selected = true;
li2.Selected = true;
cblCountriesAccessible.Items.Add(li1);
cblCountriesAccessible.Items.Add(li2);
关于c# - 以编程方式使用选中的选项填充 CheckBoxList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13740229/