Asp.net 跳过asp:repeater中的行/项
是否有可能跳过Asp.net 跳过asp:repeater中的行/项,asp.net,asprepeater,lightgallery,Asp.net,Asprepeater,Lightgallery,是否有可能跳过asp:repeater中的项目?我有和,我只需要将ul重复一次。因为它有id,id必须是唯一的 这里我需要跳过重复,然后继续重复标记 <asp:Repeater ID="rptBlogs" runat="server"> <ItemTemplate> <div class="blog-post"> <div style="display:none;" id="video<%# Eval("
asp:repeater
中的项目?我有
和
,我只需要将ul重复一次。因为它有id
,id必须是唯一的
这里我需要跳过重复
,然后继续重复
标记
<asp:Repeater ID="rptBlogs" runat="server">
<ItemTemplate>
<div class="blog-post">
<div style="display:none;" id="video<%# Eval("ID") %>">
<video class="lg-video-object lg-html5" controls preload="none">
<source src="<%# !Eval("ArticleTypeValue").ParseString()%>" type="video/mp4">
Your browser does not support HTML5 video.
</video>
</div>
<div class="post-left-img">
<ul id="lightgallery"> //this needs to be skipped
<li class="video" style="position: relative;" data-poster="/<%# Eval("ThumbImage").ParseString() %>" data-sub-html="<%# Eval("Description") %>" data-html="#video<%# Eval("ID") %>" >
<a href="javascript:void(0)">
<img class="img-responsive" src="/<%# Eval("ThumbImage").ParseString() %>" />
<div class="demo-gallery-poster">
<img src="/assets/images/play-button.png">
</div>
</a>
</li>
</ul>
</div>
</ItemTemplate>
</asp:Repeater>
我知道结构应该在哪里的常识事实:
<ul>
<asp:repeater>
...
</asp:repeter>
</ul>
...
但由于HTML结构的原因,这无法实现
已解决,但仍有更好的想法。我的解决方案见下文。我使用:
<ul id="lightgallery<%# Eval("ID") %>">
我认为中继器中的中继器可能允许您获得所需的内容,您只需调整绑定的数据即可 看看这个答案
如果这不起作用,那么您可以添加OnDataItemBound(类似于链接中显示的内容)来查找/删除服务器端的控件。如果不想,您不必呈现任何标记。您可以在ItemTemplate中添加条件逻辑来检查项目,以确定是否应呈现该项目。您可以查看如何在Web窗体标记中执行if语句。@mason我考虑过这一点,但如果我只想显示一次,条件会如何。听起来您的UL根本不应该在转发器中。我知道理想的情况是
if(!markupAlreadyAdded){/*添加标记并将markupAlreadyAdded设置为true*/}
这样的逻辑来实现这一点。不过,我认为重新构造HTML会更干净。
<ul id="lightgallery">
$('[id^=lightgallery]')