2010-06-29 3 views
0

источник данных (мой ретранслятор) является Dictionary<string, IList<User>>Asp.Net - ListView внутри Repeater

Я хотел бы ретранслятор, чтобы показать весь Ключ моего словаря, и я хочу, чтобы мой ListView использовать все данные внутри Значение моего словаря.

Должно возникнуть какой-то контейнер. Контейнер получил имя (ключ словаря) и получил много значений (значение словаря, связанного с ключом).

На данный момент, я получил что-то вроде этого:

<asp:Repeater ID="rpt" runat="server"> 
    <ItemTemplate> 
    <asp:ListView ID="lv" runat="server"> 
    <LayoutTemplate> 
    <table> 
     <tr> 
     <td colspan="2"> 
      GroupName (should be take from the key of the dictionary) 
     </td> 
     </tr> 
     <tr id="trConfigurationHeader"> 
     <th>Name</th> 
     <th>Description</th> 
     </tr> 
     <asp:PlaceHolder ID="itemPlaceHolder" runat="server" /> 
    </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
    <tr> 
     <td><%#Eval("Name")%></td> 
     <td><%#Eval("Description")%></td> 
    </tr> 
    </ItemTemplate> 
    </asp:ListView> 
    </ItemTemplate> 
</asp:Repeater> 

Как я могу связать мой ListView?

ответ

0

гораздо легче отобразить Ключ в ItemTemplate внешнего регулятора ретранслятора. Вы можете сделать, как показано ниже. Не уверен, как отображать ключ во внутреннем контейнере (ListView)

<asp:Repeater ID="rpt" runat="server" > 
    <ItemTemplate>Group : 
    <asp:Label ID="dd" runat="server" Text='<%# Eval("Key") %>' ></asp:Label> 
    <asp:ListView ID="lv" runat="server" DataSource='<%# Eval("Value") %>' > 
    <LayoutTemplate> 
    <table> 

     </tr> 
     <tr id="trConfigurationHeader"> 
     <th>Name</th> 
     <th>Description</th> 
     </tr> 
     <asp:PlaceHolder ID="itemPlaceHolder" runat="server" /> 
    </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
    <tr> 
     <td><%#Eval("Name")%></td> 
     <td><%#Eval("Description")%></td> 
    </tr> 
    </ItemTemplate> 
    </asp:ListView> 
    </ItemTemplate> 
Смежные вопросы