2013-05-13 32 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 
        } 
       } 
      }