预检查CheckBoxList中的所有框

时间:2018-01-31 01:27:58

标签: c# asp.net

我正在尝试检查pageload上复选框列表中的所有/特定复选框。

目前没有错误,但即使在后面的代码中指定了Selected = true,复选框也会显示“未标记”。

这是我的代码背后:(注意:它位于Protected Void Page_Load和if(!IsPostBack)中

                    SqlConnection aircraftCheckConn = new SqlConnection(ConfigurationManager.ConnectionStrings["CamoDatabaseString"].ToString());

                    SqlCommand aircraftCheckCommand = new SqlCommand("SELECT [Type] FROM [AircraftType]");
                    aircraftCheckCommand.Connection = aircraftCheckConn;
                    aircraftCheckConn.Open();
                    SqlDataAdapter aircraftCheckAdapt = new SqlDataAdapter(aircraftCheckCommand);
                    DataSet AircraftDS = new DataSet();
                    aircraftCheckAdapt.Fill(AircraftDS);
                    AircraftCheck.DataSource = AircraftDS;
                    AircraftCheck.DataTextField = "Type";
                    AircraftCheck.DataValueField = "Type";

                    aircraftCheckConn.Close();
                    AircraftCheck.DataBind();


                    foreach (ListItem li in AircraftCheck.Items)
                    {
                        li.Selected = true;

                    }
                    AircraftCheck.DataBind();

这是我的前端

<asp:CheckBoxList ID="AircraftCheck" runat="server" DataTextField="Type" DataValueField="Type" CellSpacing="10" RepeatColumns="6" RepeatDirection="Horizontal" >
        </asp:CheckBoxList>

谢谢

1 个答案:

答案 0 :(得分:0)

基于page life cycle,发生绑定Page_Load项之前调用的CheckBoxList事件。您可以在Page_Load CheckBoxList事件方法中的DataBound事件中复制相同的代码,并将OnDataBound标记上的CheckBoxList处理程序放到相应的方法中:< / p>

ASPX加价

<asp:CheckBoxList ID="AircraftCheck" runat="server" DataTextField="Type" DataValueField="Type" CellSpacing="10" RepeatColumns="6" RepeatDirection="Horizontal"
OnDataBound="AircraftCheck_DataBound">
</asp:CheckBoxList>

代码背后

protected void AircraftCheck_DataBound(object sender, EventArgs e)
{
    // SqlConnection binding stuff here, omitted for brevity

    AircraftCheck.DataBind();

    foreach (ListItem li in AircraftCheck.Items)
    {
        li.Selected = true;
    }
}

类似问题:

How to check all checkboxes in a checkboxlist when page first loads?