2012-07-17 35 views
0

我是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

它看起來像你想要循環刪除檢查項目。試試這個:

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

讓我知道這是如何工作。

+0

是的,這是我正在尋找,但不太確定它在哪裏。 – Kevin 2012-07-17 16:05:59

+0

這是在用戶控制代碼後面還是使用用戶控件的頁面? – Kevin 2012-07-17 16:07:34

+0

看起來你正在觸發函數'cbxRemove_CheckedChanged'。這是被稱爲?你可以通過在函數內的第一行放置一個斷點來檢查。 – woz 2012-07-17 16:08:23