选中并取消选中动态复选框列表

时间:2015-02-27 08:50:17

标签: c# asp.net

我有这个复选框列表,它的项目填充了linq数据源,现在我想以编程方式检查这些复选框中的一些... 这是我的复选框:

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="LinqDataSource2" DataTextField="ProjectGroupTitle" DataValueField="ProjectGroupID"></asp:CheckBoxList>

这是我的代码试图检查到目前为止的一些复选框:

for (int i = 0; i < CheckBoxList1.Items.Count; i++)
                        {
                            if (CheckBoxList1.Items[i].Text == j.ProjectGroupTitle)
                            {
                                CheckBoxList1.Items[i].Selected = true;
                            }
                        }

当我在调试模式下检查这段代码时,我意识到CheckBoxList1.Items.Count值为0这是奇怪的,因为我在我的数据库中有多个值,linq数据源负责为checkboxlist获取它们... 有人可以帮我修复这段代码吗?

2 个答案:

答案 0 :(得分:3)

调试时检查Request.Form变量。请提供更多信息。 (后面是aspxascx代码。是否有更新面板...)

答案 1 :(得分:2)

尝试在页面渲染中测试您的代码: -

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="LinqDataSource2" DataTextField="ProjectGroupTitle" DataValueField="ProjectGroupID" OnDataBound="SelectCheckbox"></asp:CheckBoxList> 

 public void SelectCheckbox(object sender, EventArgs e)
        {
            for (int i = 0; i < CheckBoxList1.Items.Count; i++)
                        {
                            if (CheckBoxList1.Items[i].Text == j.ProjectGroupTitle)
                            {
                                CheckBoxList1.Items[i].Selected = true;
                            }
                        }
    }