2013-05-13 33 views
0

這裏檢索值是動態添加複選框如何通過動態添加複選框

<asp:Panel ID="Panel1" runat="server"> 
    <asp:Label ID="Label1" runat="server" Text="Text Catogaries"></asp:Label> 
<br /> 

<br /> 
    <br /> 
    <asp:Repeater ID="Repeater1" runat="server"> 
     <ItemTemplate > 

     <table> 
     <td> 
      <asp:CheckBox ID="CheckBox1" runat="server" Text='<%# Eval("CategoryName") %>'/> 
      </td> 
      </table> 

     </ItemTemplate> 

    </asp:Repeater> 
    <br /> 
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
    <br /> 
    <br /> 
</asp:Panel> 

這裏的HTML代碼是我使用後面的按鈕來檢索複選框值

foreach (Control cr in Repeater1.Controls) 
     { 
      // controls within repeater item 
      foreach (Control c in cr.Controls) 
      { 
       CheckBox chk = c as CheckBox; 
       if (chk != null) 
       { 
        list.Add(chk.text) 
       } 
      } 

代碼如果在List中增加值的情況下,問題是控制不進入。我如何在列表中添加值。

回答

0

使用下面的代碼從中繼發現複選框

foreach (RepeaterItem item in Repeater1.Items) 
      { 
       if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) 
       { 
        var checkBox1 = item.FindControl("CheckBox1") as CheckBox; 
        if (checkBox1 != null) 
        { 
         // Process further 
        } 
       } 
      }