2012-03-31 29 views
1

我有這段代碼,需要知道在後面的代碼中選擇了哪個複選框在直放站中查找選中的複選框

任何人都可以幫我嗎?

<asp:Repeater ID="ParentRepeater" runat="server" OnItemDataBound="ParentRepeater_ItemDataBound"> 
      <ItemTemplate> 
       <label> 
        <%# Eval("TeacherName")%> 
       </label> 
       <br /> 
       <asp:Repeater ID="ChildRepeater" runat="server"> 
        <ItemTemplate> 
         <label> 
          <input type="checkbox" id="students" runat="server" /><%# Eval("StudentName")%> 
         </label> 
        </ItemTemplate> 
       </asp:Repeater> 
      </ItemTemplate> 
     </asp:Repeater> 

回答

1
  • 遍歷您ParentRepeater項目
  • 您可以透過這就是項目每個項目中的孩子中繼器,並循環
  • 找到的複選框,並檢查其是否檢查
  • 如果其選中,響應。在同一商品中寫入ltlStudentName
For each item as repeateritem in ParentRepeater.Items 
    For each item2 as repeateritem in ctype(item.findcontrol("ChildRepeater"),repeater).items 
     if ctype(item2.findcontrol("students"),checkbox) 
     response.write(ctype("ltlStudentName"),literal).text) 
     end if 
    next 
Next 

,改變你的標記一行:

<input type="checkbox" id="foods" runat="server" /><asp:literal id="ltlStudentName" runat="server" text='<%# Eval("StudentName")%>' /> 
+0

對不起我的朋友,我這樣做但控件爲空 foreach(ParentRepeater.Items中的RepeaterItem項) Repeater rep =((Repeater)item.FindControl(「ChildRepeater」)); foreach(RepeaterItem item2 in rep.Items) { var ch =(HtmlInputCheckBox)(item2.FindControl(「students」));如果(ch!= null && ch.Checked == true) { Response.Write(ch.Value.ToString()); } } } – Developer 2012-03-31 02:03:45

+0

@Developer如果您更改了複選框ID?更新回答 – Curt 2012-03-31 02:05:00

+0

我這樣做: 的foreach(在ParentRepeater.Items的RepeaterItem項) { 轉發器REP =((中繼器)item.FindControl( 「ChildRepeater」)); foreach(rep.Items中的RepeaterItem item2) var chkBox = item2.FindControl(「students」)as HtmlInputCheckBox; } } 但是所有checkboxs.Checked = false我不知道爲什麼 – Developer 2012-03-31 09:51:03

0

這是最後一次試圖解決所有checkbox.Checked不會改變都是平等的虛假

foreach (RepeaterItem item in ParentRepeater.Items) 
      { 
       Repeater rep = ((Repeater)item.FindControl("ChildRepeater")); 

       foreach (RepeaterItem item2 in rep.Items) 
       { 
        var chkBox = item2.FindControl("students") as HtmlInputCheckBox; 

       } 
      } 


<asp:Repeater ID="ParentRepeater" runat="server" OnItemDataBound="ParentRepeater_ItemDataBound"> 
      <ItemTemplate> 
       <label> 
        <%# Eval("TeacherName")%> 
       </label> 
       <br /> 
       <asp:Repeater ID="ChildRepeater" runat="server"> 
        <ItemTemplate> 
         <label> 
          <input type="checkbox" id="students" runat="server" /><asp:literal id="ltlStudentName" runat="server" text='<%# Eval("StudentName")%>' /> 
         </label> 
        </ItemTemplate> 
       </asp:Repeater> 
      </ItemTemplate> 
     </asp:Repeater>