使用按钮在列表视图中选中复选框

时间:2017-01-24 11:06:21

标签: c# asp.net listview checkbox itemtemplate

有一个列表视图。 Listview ID:myListView。 listview中有一个hiddenField(在itemTemplate中)HiddenField ID:hfID。 listview中有一个复选框(在itemTemplate中)复选框ID:checkBoxSec 列表视图中有一个按钮。按钮ID:btnConfirmSelected

我的目的:当我点击这个asp按钮时,我想要选中复选框。

现在,我首先分享aspx页面然后再分享aspx.cs(代码背后的代码)

1-aspx side

<asp:ListView ID="myListView" runat="server" OnItemCommand="listView_OnItemCommand"
    OnItemDataBound="listView_ItemDataBound">
    <LayoutTemplate>
        <table id="listViewRecordsTable" cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered table-condensed">
            <thead>
                <tr>
                    <th style="text-align: left;">
                        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="false" onchange="CheckAll(this);" />
                    </th>

                    <th style="text-align: left;">
                        süreç no
                    </th>

                </tr>
            </thead>
            <tbody>
                <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
            </tbody>
        </table>
    </LayoutTemplate>
    <ItemTemplate>
        <tr class="odd gradeX" id="<%# Eval("ID").ToString() == "BOS" ? "" : Eval("ID")%>">
            <td>
                <asp:CheckBox ID="checkBoxSec" runat="server" CssClass="checkBoxExample" />
            </td>
            <td>
                <%# Eval("surecID").ToString() == "BOS" ? "" : Eval("surecID")%>
            </td>
        </tr>
    </ItemTemplate>
</asp:ListView>

2-aspx.cs(背后的代码)

protected void btnConfirmSelected_Click(object sender, EventArgs e)
{
    try
    {
        foreach (var item in myListView.Items)
        {
            if (item.ItemType == ListViewItemType.DataItem)
            { 
                HiddenField hfID = item.FindControl("hfID") as HiddenField;
                CheckBox checkBoxSec = item.FindControl("checkBoxSec") as CheckBox;
                if (checkBoxSec.Checked)
                {
                    //some tasks in here. i put debug point to here. and then i click button after i select some checkbox. but debug never comes here. 
                }
            }
        } 
    }
    catch (Exception ex)
    {
        labelResult.Text = ex.ToString();
    }
}

任何人都可以帮助我;错误或遗漏的部分在哪里? 我把调试点放在这里:

if (checkBoxSec.Checked)
{
    //some tasks in here. i put debug point to here. and then i click button after i select some checkbox. but debug never comes here. 
}

但永远不会来这里。但我选择一些复选框后,我点击按钮。非常感谢。

1 个答案:

答案 0 :(得分:0)

我没有足够的声誉来评论,但我建议您也发布您的数据绑定代码。

请确保您不要在POST上调用myListView.DataBind(),因为这可以解释为什么您没有从ASP.net控件中获得预期的值。