2012-02-17 14 views
0

私は、いくつかのチェックボックスでListViewを持っています。しかし、チェックボックスがチェックされているかどうかを知りたければ、(チェックしても)常にfalseになります。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; 

     } 
    } 

を取得しようとしました方法ですあなたは私のチェックボックスは常に= falseをチェックした理由の任意のアイデアを持っていますか?

どうもありがとう、

ヴィンセント

+2

でlvCompanies有界していることを確認? –

答えて

4

あなたは、メソッドgetSelectedItemsを呼び出しているメソッド/イベント・ハンドラ内で(!Page.IsPostBack)

+0

はい、これは私が行ったことです – Vinzcent

+0

getSelectedItems()関数はどのように呼び出されますか? – Ravia

+2

チェックボックスの状態を維持したい場合は、このリンクに従ってください。http://evonet.com.au/maintaining-checkbox-state-in-a-listview/ – Ravia

関連する問題