我觉得我在这里错过了关于 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));
然后将它们绑定到 CheckBoxList
cblCountriesAccessible.DataSource = lbData;
cblCountriesAccessible.DataBind();
并且每次列表中的项目显示为未选中(或未在 ListBox 中选择)时,如果我将 ListItems 直接添加到标记中的控件,它们会显示为选中或未选中。
<asp:ListItem Text="x" Value="" Selected="True" />
我在选择没有执行的代码中做错了什么?我已经尝试将 CheckBoxes 绑定到 Checked 设置为 true,并且发生了同样的事情。
编辑:好的,我没有正确设置 Selected。我现在正在使用
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);
而且他们仍然没有按检查加载