我的转发器的DataSource是Dictionary<string, IList<User>>
我希望转发器显示我的字典中的所有Key,我希望我的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 :(得分:0)
在外部Repeater Control的ItemTemplate中显示Key要容易得多。 您可以执行以下操作。不完全确定如何在内部容器(ListView)中显示Key
<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>