我有这个复选框列表,它的项目填充了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获取它们... 有人可以帮我修复这段代码吗?
答案 0 :(得分:3)
调试时检查Request.Form
变量。请提供更多信息。 (后面是aspx
或ascx
代码。是否有更新面板...)
答案 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;
}
}
}