ListView中的ASP.NET CheckBox.Checked始终为false

时间:2012-02-17 13:44:27

标签: asp.net listview checkbox

我有一个带有几个复选框的ListView。但是如果我想知道复选框是否被选中,它总是假的(即使我检查了它)。

这是我的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;

        }
    }

你知道为什么我的复选框总是Checked = false吗?

非常感谢,

文森特

1 个答案:

答案 0 :(得分:4)

检查(!Page.IsPostBack)

中是否有lvCompanies