如何在首次加载页面时检查复选框列表中的所有复选框?
看起来很简单,但我无法弄清楚。 我试过这段代码:
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之后,执行循环,您将能够选择项目。
希望这可以帮助。