2012-02-17 39 views
0

我有一个ListView和一些复选框。但如果我想知道是否选中了复选框,它总是假(即使我检查了它)。ASP.NET CheckBox.Checked在ListView中始终为false

这是我的ListView

<asp:ListView ID="lvCompanies" runat="server" DataKeyNames="id" onitemdatabound="lvCompanies_ItemDataBound"> 
    <LayoutTemplate><ul><asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder></ul></LayoutTemplate> 
    <ItemTemplate>     
     <li> 
      <asp:CheckBox ID="cbCompany" CssClass="checkbox company-checkbox" runat="server" /> 
      <%# Eval("Name") %> 
     </li> 
    </ItemTemplate> 
</asp:ListView> 

的代码这是我试图让选中的复选框

public List<Company> getSelectedItems() 
    { 
     foreach (ListViewDataItem dataItem in lvCompanies.Items) 
     { 
      bool isChecked = ((CheckBox)dataItem.FindControl("cbCompany")).Checked; 

     } 
    } 

你有任何想法,为什么我的复选框总是选中=假?

非常感谢,

文森特

+2

哪种方法/事件处理中是你调用方法getSelectedItems界lvCompanies? – 2012-02-17 13:46:20

回答

4

检查是否已在(!Page.IsPostBack)

+0

是的,这就是我所做的 – Vinzcent 2012-02-17 14:04:53

+0

如何调用getSelectedItems()函数? – Ravia 2012-02-17 14:08:46

+2

如果你想保持你的复选框的状态,然后按照这个链接http://evonet.com.au/maintaining-checkbox-state-in-a-listview/ – Ravia 2012-02-17 14:13:37

相关问题