如何在首次加载页面时检查复选框列表中的所有复选框?

看起来很简单,但我无法弄清楚。 我试过这段代码:

protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { foreach (ListItem item in CheckBoxListDivision.Items) item.Selected = true; } } 

和这个标记:

    <asp:SqlDataSource ID="SqlDataSourceDivisions" runat="server" ConnectionString="" SelectCommand="usp_HR_DivisionsSelectAll" SelectCommandType="StoredProcedure"> 

感谢您的时间和精力。

它没有选择项目的原因是在绑定CheckBoxList项之前调用了Page_Load事件。 因此,为了在页面加载时选择所有项目,您有两个选项:

第一个选项:将您正在使用的相同代码放在CheckBoxList的OnDataBound事件中。

将CheckBoxList标记修改为:

    

并在代码隐藏中添加:

 protected void CheckBoxListDivision_DataBound(object sender, EventArgs e) { foreach (ListItem item in CheckBoxListDivision.Items) { item.Selected = true; } } 

第二个选项:从标记中删除SqlDataSource并在Page_Load事件中以编程方式绑定CheckBoxList ,然后在绑定CheckBoxList之后,执行循环,您将能够选择项目。

希望这可以帮助。