Нет данных, отображаемых в аккордеоне ретранслятора - PullRequest
0 голосов
/ 01 июня 2018

При настройке ретранслятора у меня внутри есть гармошка.Когда я запускаю его, он соединяет данные, правильное количество раз, указывающее, что он связывается правильно, но он не отображает никакой информации внутри аккордеона

    <asp:Repeater runat="server" ID="rptMain">
                <HeaderTemplate>  Stuff
                </HeaderTemplate>
                  <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem,"strTitle")  %>
                    <ajax:Accordion ID="acdClass" runat="server" FadeTransitions="true" AutoSize="None" RequireOpenedPane="false" SelectedIndex="-1">
                        <Panes>
                            <ajax:AccordionPane ID="panTitle1" runat="server">
                                <Header>
                               Accrdion Header -    <%# DataBinder.Eval(Container.DataItem,"strTitle")  %>
                                </Header>
                                <Content>
                                    Content Info -<%# DataBinder.Eval(Container.DataItem,"strTitle")  %>
                                </Content>
                            </ajax:AccordionPane>
                        </Panes>
                    </ajax:Accordion>
                </ItemTemplate>
</Repeater>

Проблема возникает, когда он отображаетПравильная информация о связывании за пределами аккордеона, но, кажется, игнорирует ее изнутри.Я знаю, что это правильно, но оно действует невежественно, когда находится внутри аккордеона.Я видел несколько случаев, как сделать это с аккордеоном снаружи, но хотел сделать это изнутри.

Есть идеи?

Уэйд

Ответы [ 2 ]

0 голосов
/ 18 июня 2018

Я избежал этого и использовал Bootstrap CSS

data-target="#collapse<%# DataBinder.Eval(Container.DataItem,"intCount")  %>

, а затем

<div id="collapse<%# DataBinder.Eval(Container.DataItem,"intCount")  %>" class="panel-collapse collapse">

Не то, что я хотел, но это сработало.

0 голосов
/ 01 июня 2018

Почему бы вам не попробовать поставить репитер внутри гармошки.

<asp:Repeater runat="server" ID="rptMain" OnItemDataBound="rptMain_ItemDataBound">
                <HeaderTemplate>  Stuff
                </HeaderTemplate>
                  <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem,"strTitle")  %>
                    <ajax:Accordion ID="acdClass" runat="server" FadeTransitions="true" AutoSize="None" RequireOpenedPane="false" SelectedIndex="-1">
                        <Panes>
                            <ajax:AccordionPane ID="panTitle1" runat="server">
                                <Header>
                               Accrdion Header -    <%# DataBinder.Eval(Container.DataItem,"strTitle")  %>
                                </Header>
                                <Content>
                                    Content Info -<%# DataBinder.Eval(Container.DataItem,"strTitle")  %>
                                </Content>
                            </ajax:AccordionPane>
                        </Panes>
                    </ajax:Accordion>
                </ItemTemplate>
</Repeater>

protected void rptMain_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
    //Find your accordion and set data accordionly using e.Item.FindControl("acdClass") as Accordion;
}
    }
...