2012-03-31 3 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
  • Loop через ваши ParentRepeater пунктов
  • Найти ребенка ретранслятор в каждой позиции, и цикл по Thats пунктов
  • Найти флажок и проверить его проверили
  • Если его проверили, ответ. Написать 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 (элемент RepeaterItem в ParentRepeater.Items) { Repeater rep = ((Повторитель) item.FindControl ("ChildRepeater")); foreach (RepeaterItem item2 in rep.Items) { var ch = (HtmlInputCheckBox) (item2.FindControl ("students")); if (ch! = Null && ch.Checked == true) { Response.Write (ch.Value.ToString()); } } } – Developer

+0

@Developer Если вы изменили идентификатор флажка? Обновленный ответ – Curt

+0

я это сделать: Еогеасп (RepeaterItem пункт в ParentRepeater.Items) { Repeater респ = ((ретранслятор) item.FindControl ("ChildRepeater")); foreach (RepeaterItem item2 in rep.Items) { var chkBox = item2.FindControl ("students") как HtmlInputCheckBox; } } но все checkboxs.Checked = false Я не знаю, почему – Developer

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>