如何将ListView与ajax工具包中的手风琴面板一起使用?

时间:2012-08-15 17:20:11

标签: asp.net ajaxcontroltoolkit

这个很难解释。但基本上,我正在尝试使用带有数据源的ListView来嵌套手风琴。问题是,它不允许listview进入手风琴模板。这是布局:

>>Section (accordion pane)
   >>List of Documents to be reviewed
      >>List of Reviewing parties

该部分是手风琴控制中的手风琴窗格。其中包括另一个手风琴控件,它是根据目前正在审查的文档列表构建的。换句话说,每个文档都是另一个窗格。每个文档窗格的内容只是审阅者(名称)的无序列表。

所以我需要能够基于对象内的列表基本构建布局。我以为我可以做这样的事情:

<ajaxToolkit:Accordion runat="server" ID="accordionMain" HeaderCssClass="panelHeader" ContentCssClass="panelContent" CssClass="accordionPanel" FadeTransitions="True">
        <Panes>
            <ajaxToolkit:AccordionPane runat="server" ID="pane3" HeaderCssClass="panelHeader">
                <Header>
                    <asp:Image ID="Image3" runat="server" ImageUrl="../icon_expand.gif"/>
                    Awaiting Reviewers 
                    <asp:Label runat="server" ID="lblAwaitingReviewers" Text="(4)"></asp:Label>
                </Header>
                <Content>
                    <ajaxToolkit:Accordion runat="server">
                        <Panes>
                            <asp:ListView runat="server">
                                <ItemTemplate>
                                    <ajaxToolkit:AccordionPane runat="server">
                                        <Header>
                                            <asp:Label runat="server" ID="lblReviewItem"/>
                                        </Header>
                                        <Content>
                                            <asp:ListView runat="server" ID="lvReviewers" ItemPlaceholderID="phReviewers">
                                                <LayoutTemplate>
                                                    <ul>
                                                        <asp:PlaceHolder runat="server" ID="phReviewers"/>
                                                    </ul>
                                                </LayoutTemplate>
                                                <ItemTemplate>
                                                    <li>
                                                        <asp:LinkButton runat="server" ID="lnkMocReviewItem">
                                                            <asp:HiddenField runat="server" ID="hfMocReviewItemId"/>
                                                            <asp:Label runat="server" ID="lblReviewItemAssignee"/>
                                                        </asp:LinkButton>
                                                    </li>
                                                </ItemTemplate>
                                            </asp:ListView>
                                        </Content>
                                    </ajaxToolkit:AccordionPane>
                                </ItemTemplate>
                            </asp:ListView>
                        </Panes>
                    </ajaxToolkit:Accordion>
                </Content>
            </ajaxToolkit:AccordionPane>
        </Panes>
    </ajaxToolkit:Accordion>

但是手风琴在列表视图中表现不佳。我尝试使用listview作为模板来根据需要添加窗格,但是手风琴控件除了窗格部分内的窗格外不允许任何内容。

有解决方法吗?

这是我想要的效果照片: enter image description here

1 个答案:

答案 0 :(得分:1)

原来,手风琴控件有一个带有内容模板的DataSource。如果将它绑定到某个东西,那么它将为每个项目创建窗格。然后我在内容模板中放置了一个listview,一切都很好。