Как программно добавить один аккордеонный элемент в другой? - PullRequest
0 голосов
/ 25 января 2012

В моем веб-приложении asp.net есть две панели аккордеона, такие как

Accordion a = new Accordion();
Accordion b = new Accordion();

.Мне нравится добавлять Accordion b в Accordion программно в коде C # позади.Можно ли добавить два Аккордеонных Управления, как это?Если кто-то сможет помочь в этом, это действительно поможет моему проекту.Большое спасибо ....

Ответы [ 3 ]

0 голосов
/ 25 января 2012

Источник этого сайта, вы можете попробовать что-то вроде этого:

<script runat="server">
void Page_Load() 
{
 if (!Page.IsPostBack)
 {
 AccordionPane ap1 = new AccordionPane();
 ap1.HeaderContainer.Controls.Add(new LiteralControl("Using Markup"));
 ap1.ContentContainer.Controls.Add(new 
 LiteralControl("Adding panes using markup is really simple."));
 AccordionPane ap2 = new AccordionPane();
 ap2.HeaderContainer.Controls.Add(new LiteralControl("Using Code"));
 ap2.ContentContainer.Controls.Add(new 
 LiteralControl("Adding panes using code is really flexible."));
 acc1.Panes.Add(ap1);
 acc1.Panes.Add(ap2);
 }
}
</script>
0 голосов
/ 25 января 2012

Может быть полезно, если вы можете предоставить нам то, как вы хотите, чтобы он выглядел с кодом без кода, чтобы мы могли помочь с версией с кодом, например:

<asp:Accordion ID="AccordionA" runat="server">
    <Panes>
        <asp:AccordionPane ID="AccordionPaneA1" runat="server">
            <Header> First Header</Header>
            <Content>Contents with in the first header </Content>
        </asp:AccordionPane>
        <asp:AccordionPane ID="AccordionPaneA2" runat="server">
            <Header>Second Header</Header>
            <Content>Content with in the second Header</Content>
        </asp:AccordionPane>
        <asp:AccordionPane ID="AccordionPaneA3" runat="server">
            <Header>Third Header With Accordion</Header>
            <Content>
                <asp:Accordion ID="AccordionB" runat="server">
                    <Panes>
                        <asp:AccordionPane ID="AccordionPaneB1" runat="server">
                            <Header> First Header</Header>
                            <Content>Contents with in the first header </Content>
                        </asp:AccordionPane>
                    </Panes>
                 </asp:AccordionPane>
            </Content>
        </asp:AccordionPane>
    </Panes>
</asp:Accordion>
0 голосов
/ 25 января 2012

Попробуйте что-то вроде (не проверено - просто у меня в голове):

AccordionPane pane = new AccordionPane();
a.Panes.Add(pane);

pane.ContentContainer.Controls.Add(b)
...