これはちょっと説明が難しいです。しかし、基本的には、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>
しかし、アコーディオンはリスト ビューではうまく機能しません。リストビューを使用して、必要に応じてペインを追加するテンプレートとして機能させようとしましたが、アコーディオン コントロールでは、ペイン セクション内のペインしか許可されません。
これを回避する方法はありますか?
これが私がしようとしている効果の写真です: