【问题标题】:How to expand contents of ItemTemplates of a ListView by clicking on ItemTemplate?如何通过单击ItemTemplate来扩展ListView的ItemTemplates的内容?
【发布时间】:2014-07-16 12:57:25
【问题描述】:

我有一个ListView 和多个ItemTemplates。每个ItemTemplate 中都有一个Repeater,显示每个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>

【问题讨论】:

    标签: javascript asp.net asprepeater


    【解决方案1】:

    使用这个:

    <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>
    

    【讨论】:

    • 稍微解释一下就好了!!
    猜你喜欢
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多