Asp.Net - ListView внутри повторителя - PullRequest
0 голосов
/ 29 июня 2010

Источник данных (моего повторителя) представляет собой Dictionary<string, IList<User>>

Я хотел бы, чтобы повторитель показывал все ключи моего словаря, и я бы хотел, чтобы мой 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?

1 Ответ

0 голосов
/ 29 июня 2010

гораздо проще отобразить Key в ItemTemplate внешнего элемента управления Repeater.Вы можете сделать, как показано ниже. Не совсем точно, как отобразить ключ во внутреннем контейнере (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>
...