Asp.net 同时使用ListView和Repeater
我想把中继器放在中继器里面。由于我的列表视图同时具有ItemTemplate和AlternateItemTemplate,我是否需要添加两个转发器并绑定这两个转发器Asp.net 同时使用ListView和Repeater,asp.net,listview,c#-4.0,repeater,Asp.net,Listview,C# 4.0,Repeater,我想把中继器放在中继器里面。由于我的列表视图同时具有ItemTemplate和AlternateItemTemplate,我是否需要添加两个转发器并绑定这两个转发器 <asp:ListView ID="lvData" runat="server" onitemdatabound="lvData_ItemDataBound"> <layouttemplate> <div style="border:dotted 1px gray;">
<asp:ListView ID="lvData" runat="server" onitemdatabound="lvData_ItemDataBound">
<layouttemplate>
<div style="border:dotted 1px gray;">
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</div>
</layouttemplate>
<itemtemplate>
<div class="ListView">
<h5><%# Eval("CourseCode") %> - <%# Eval("CourseName") %></h5>
<asp:Repeater ID="rptComments" runat="server">
<ItemTemplate>
<p>
<%# DataBinder.Eval(Container.DataItem, "Comment") %></p>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblEmpty" Text="No comments to display..." runat="server" Visible='<%#bool.Parse((rptComments.Items.Count==0).ToString())%>'></asp:Label>
</FooterTemplate>
</asp:Repeater>
</div>
</itemtemplate>
<alternatingitemtemplate>
<div class="ListViewAlternate">
<h5><%# Eval("CourseCode") %> - <%# Eval("CourseName") %></h5>
<asp:Repeater ID="rptComments2" runat="server">
<ItemTemplate>
<p>
<%# DataBinder.Eval(Container.DataItem, "Comment") %></p>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblEmpty" Text="No comments to display..." runat="server" Visible='<%#bool.Parse((rptComments.Items.Count==0).ToString())%>'></asp:Label>
</FooterTemplate>
</asp:Repeater>
</div>
</alternatingitemtemplate>
<emptydatatemplate>
No records to display.
</emptydatatemplate>
</asp:ListView>
-
-
没有要显示的记录。
我很确定答案是肯定的
或者,不要使用AlternatingItemTemplate,而是在ItemTemplate中创建基于您自己的逻辑进行替换的标记。基本上,您只需要使div/@类有所不同
如果可以从ItemTemplate标记中以某种方式检索项目的索引/位置,则可以使用简单的2除法来确定项目是奇数还是偶数
idx%2>0
-->奇数;甚至
奇数:
甚至
然后,当然,你只能有一个孩子的中继器
<div class="ListViewAlternate">
<div class="ListView">