2015-02-09 3 views
0

У меня есть следующий объект:Проблема связывания внутренний повторителя сгруппированных список сгруппированных списков

var years = articles.GroupBy(a => a.Year).Select(yearGroup => new 
{ 
    Year = yearGroup.Key, 
    PerMonth = yearGroup.GroupBy(a => a.Month).Select(monthGroup => new 
    { 
     Month = monthGroup.Key, 
     Articles = monthGroup.ToList() 
    }).ToList() 
}).ToList(); 

Repeater1.DataSource = years; 
Repeater1.DataBind(); 

Я пытаюсь отобразить это следующим образом:

<asp:Repeater ID="Repeater1" runat="server"> 
    <ItemTemplate> 
     <div class="yearGroup"> 
      <h1 class="yearHeading"><%# DataBinder.Eval(Container.DataItem, "Year") %></h1> 
      <asp:Repeater ID="Repeater2" runat="server" DataSource='<%# DataBinder.Eval(Container.DataItem, "PerMonth")%>'> 
       <ItemTemplate> 
        <div class="monthGroup"> 
         <h3 class="monthHeading"><%# DataBinder.Eval(Container.DataItem, "Month") %></h3> 
         <asp:Repeater ID="Repeater3" runat="server" DataSource="<%# DataBinder.Eval(Container.DataItem, "Articles") %>"> 
          <ItemTemplate> 
           <h1>Article title</h1> 
           <%--<div class="Article"> 
            <%# DataBinder.Eval(Container.DataItem, "Title") %> 
           </div>--%> 
          </ItemTemplate> 
         </asp:Repeater> 
        </div> 
       </ItemTemplate> 
      </asp:Repeater> 
     </div> 
    </ItemTemplate> 
</asp:Repeater> 

Все работает до до тех пор, окончательный ретранслятор. При удалении Repeater3 он работает, но когда я ставлю в конечном ретранслятора, я получаю сообщение об ошибке, по какой-то причине не нравится

DataSource="<%# DataBinder.Eval(Container.DataItem, "Articles") %> 

Мои просмотра событий говорит

Тег сервера плохо сформировался.

ответ

0

Попробуйте вместо этого заменить «» вокруг тега сервера для ».

Так что:

"<%# DataBinder.Eval(Container.DataItem, "Articles") %>" 

становится:

'<%# DataBinder.Eval(Container.DataItem, "Articles") %>' 
Смежные вопросы