c# - 以编程方式使用选中的选项填充 CheckBoxList

标签 c# asp.net .net

我感觉我在这里错过了有关 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/

相关文章:

c# - 如何触发 WPF 上下文菜单的关闭动画?

c# - 如何在方法中获取 "object sender"的 child ?

asp.net - Google OpenId : No OpenID endpoint found (intermittent)

c# - 在字节数组中查找模式的最有效方法

c# - MapControllerRoute ,值不能为 null

c# - 有没有办法在 winforms 中为标签页的标签着色?

asp.net - 从 asp.net 创建临时 MySQL 用户

c# - 使用 Selenium 在现有浏览器 session 中打开一个新选项卡

c# - 如何将 Expression 转换为 MethodBuilder 实例方法?

c# - 在带有 Join 子句的 linq 的多个 where 子句中使用 Trim