用户控件与转发器中的复选框

时间:2012-07-17 15:31:24

标签: c# .net user-controls checkbox repeater

我是C#/ asp的新手。我正在尝试向用户控件中的转发器控件添加一个复选框。当用户单击复选框时,我想在用户控件所在的页面上捕获该事件。我已经把复选框放在转发器中了。 这是我在用户控件中的内容。

       <asp:Repeater ID="rOrderItems" runat="server" ><HeaderTemplate>
            <table class="mGrid" ><tr><td width="50%" align="left" >Item</td>
            <td width="20%" align="right">Qty</td>
            <td width="20%" align="center">Remove</td></td></tr></HeaderTemplate>                

            <ItemTemplate >
                <tr>
                <td> <%# DataBinder.Eval(Container.DataItem, "item.ItemNumber")%> </td>
                <td> <%# DataBinder.Eval(Container.DataItem, "Quantity")%> </td>
                 <td> <asp:CheckBox  ID="cbxRemove" AutoPostBack="true" Checked="false" OnCheckedChanged="cbxRemove_CheckedChanged"  runat="server" /></td> 
                </tr>
            </ItemTemplate>
            <FooterTemplate><tr><td>   </td><td>  </td></tr></table>
            </FooterTemplate>
            </asp:Repeater>

此后我有点失落。请原谅我的无知,但我正在学习。

感谢

1 个答案:

答案 0 :(得分:1)

看起来您想循环删除检查项目。试试这个:

for (int i = 0; i < rOrderItems.Items.Count; i++) {
  CheckBox chk = (CheckBox)rOrderItems.Items[i].FindControl("cbxRemove");
  if (chk.Checked) {
    //remove this item
  }
}

让我知道它是如何运作的。