如何将checkboxlist selected属性设置为true

时间:2012-12-13 05:57:31

标签: c# asp.net

我的aspx页面我正在使用checkboxlist控件并从数据库中填充数据。但是,当我习惯选择项目并调试我的代码时,总是选择属性为假。如何解决这个问题。

我的代码是

 <asp:CheckBoxList ID="chkProduct" Width="200px" Height="90px" runat="server"    
 RepeatDirection="Vertical" style="overflow-y: scroll;
                            overflow-x: scroll;">
                       </asp:CheckBoxList>


          代码背后

 for (int j = 0; j < chkProduct.Items.Count; j++)
    {
        //CheckBoxList chkProduct;
        foreach (ListItem list in chkProduct.Items)
        {
            if (list.Selected )
            {
                enquiryProducts = new Services.EnquiryProduct();
                enquiryProducts.IsDelete = false;
                enquiryProducts.ProductID = Convert.ToInt32(chkProduct.Items[j].Value);
                enquiryProductList.Add(enquiryProducts);
            }
        }
    }

3 个答案:

答案 0 :(得分:1)

如果要在回发上数据绑定列表,则可能会丢失已检查状态。您希望确保在您对列表进行数据绑定时,只有在Page.IsPostBackfalse时才会执行此操作。

答案 1 :(得分:0)

您是否绑定了复选框列表。
它是在页面加载,然后它应检查不回发如下

if (!Page.IsPostBack)
{
  //put your binding code here
   List<CommonServices.Product> productList = commonClient.GetProductList(string.Empty, null, 1); 
   chkProduct.DataSource = productList.OrderBy(i => i.Name); 
   chkProduct.DataTextField = "ProductCodeWithName"; 
   chkProduct.DataValueField = "ID"; 
   chkProduct.DataBind();
}

答案 2 :(得分:-1)

试试这个.. 将autopostback属性设置为TRIST 的checkboxlist