我有ListView
个ItemTemplates
。每个Repeater
中都有一个ItemTemplate
,显示每个ItemTemplate
中的文件列表(即类别)。目前,所有类别中的所有文件都是可见的。但我想仅显示类别,通过单击每个类别,展开它并显示该类别中的文件。
我该怎么做?
以下是我目前的代码:
<asp:ListView runat="server" ID="lvDownloadFilesViewer">
<ItemTemplate>
<div class="downloadList-Headline">
<%#Eval("Title")%>
</div>
<div class="downloadList">
<ul>
<asp:Repeater ID="Repeater1" runat="server" EnableViewState="false" DataSource='<%# DataBinder.Eval(Container.DataItem, "DownloadFilesItemList") %>'>
<ItemTemplate>
<li style="width:100%">
<div class="FileDescription"><%# DataBinder.Eval(Container.DataItem, "Description")%>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
</ItemTemplate>
</asp:ListView>
答案 0 :(得分:2)
使用它:
<style>
.downloadList
{
display: none;
}
.downloadList-Headline
{
cursor: pointer;
}
</style>
<script>
$(document).ready(function () {
$('.downloadList-Headline').click(function() {
$(this).next().toggle('medium');
});
});
</script>
<asp:ListView runat="server" ID="lvDownloadFilesViewer">
<ItemTemplate>
<div class="downloadList-Headline">
[+] <%#Eval("Title")%>
</div>
<div class="downloadList">
<ul>
<p></p>
<asp:Repeater ID="Repeater1" runat="server" EnableViewState="false" DataSource='<%# DataBinder.Eval(Container.DataItem, "DownloadFilesItemList") %>'>
<ItemTemplate>
<li style="width:100%">
<div class="FileDescription"><%# DataBinder.Eval(Container.DataItem, "Description")%></div>
<a href="<%#Page.ResolveClientUrl((string)Eval("FilesPath")) %>" class="<%# DataBinder.Eval(Container.DataItem, "FilesTypeTitle")%>"
target="_blank">
<%# DataBinder.Eval(Container.DataItem, "FilesTitle")%></a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
</ItemTemplate>
</asp:ListView>