0

私は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>
4

1 に答える 1

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>
于 2014-07-16T13:26:36.093 に答える