2013-12-06 4 views
0

У меня есть вложенный элемент управления ретранслятора, и я пытаюсь перечислить элементы под этим вложенным ретранслятором в нескольких местах, включая связанный с ним флажок. Но похоже, что каждая другая строка является флажком без ярлыка, может кто-то пролил немного света?Выравнивание флажков в вложенном репитере

<asp:Repeater ID="parentRepeater" runat="server"> 
    <ItemTemplate> 
     <br />     
     <b> 
      <input type="checkbox" id="chk_ParentProgram" name="chk_ParentProgram" runat="server" 
       value='<%# ((programsRepeat)Container.DataItem).Level == 1 ? ((programsRepeat)Container.DataItem).ProgramID.ToString() : "" %> ' 
         /> 
      <label for="chk_ParentProgram"> 
       <%# ((programsRepeat)Container.DataItem).Level == 1 ? ((programsRepeat)Container.DataItem).ProgramName : "" %> 
       </label>   
     </b> 
     <asp:Repeater> 
      <ItemTemplate> 
       <br/>&nbsp;&nbsp;&nbsp; 
        <input type="checkbox" id="chk_ChildProgram" name="chk_Child" runat="server" 
        value='<%# ((programsRepeat)Container.DataItem).Level == 2 ? ((programsRepeat)Container.DataItem).ProgramID.ToString() + " from the child repeater" : "" %>' 
         /> 
           <label for="chk_ChildProgram"> 
       <%# ((programsRepeat)Container.DataItem).Level == 2 ? ((programsRepeat)Container.DataItem).ProgramName : "" %> 
       </label> 
      </ItemTemplate> 
     </asp:Repeater> 
    </ItemTemplate> 
</asp:Repeater> 

Screenshot for layout

+0

Какой набор данных или DataTable вы связываясь с ретранслятора. Могу ли я иметь код для привязки ретранслятора –

+0

Показать плоский HTML-код, а также любой CSS. – Liam

+0

Контакт контакт = новый Контакт(); Список test = новый Список (); Список pRepeat = новый Список (); test = contact.getOriginalPOCPublic(); foreach (var item in test) { if (item.Level.ToString() == "1" && item.Visible! = False) { pRepeat.Add (новые программыRepeat {ProgramID = item.PocID, ProgramName = item.PocName, Level = item.Level}); } if (item.Level.ToString() == "2" && item.Visible! = False) { pRepeat.Add (новые программыRepeat {ProgramID = item.PocID, ProgramName = item.PocName, Level = item .Level}); } } parentRepeater.DataSource = pRepeat; parentRepeater.DataBind(); – jpavlov

ответ

0

Проблема заключается в том, есть ли у вас действительное значение или пустое жала для (programsRepeat)Container.DataItem).ProgramID.ToString() вы все еще рендеринга флажок, как показано ниже

<input type="checkbox" value="" /> 

This will render the empty checkbox.

Лучше проверить значение и поставьте галочку как

<% if((programsRepeat)Container.DataItem).Level == 2 && 
((programsRepeat)Container.DataItem).ProgramID!="") 
{ 
//not sure about the inline syntax here. 
//add checkbox code 
} 
%> 

Inline Syntax Reference или проверить this

Смежные вопросы