Събитие DropDownList в Accordian и GridView

Събитие, свързано с DropDownList в самостоятелен GridView, очевидно ще работи по този начин, но нещата са малко по-сложни в този сценарий.

Събитието не се задейства за DropDownList. Интересното е събитието, свързано с бутона Задейства ли се. Не съм сигурен каква би била разликата между DropDownList и TextBox.

Опитах и ​​OnSelectedIndexChanged, и OnTextChanged - нито един не работи.

Влагането е както следва:

  1. GridView A
  2. Акордеон Аякс
  3. GridView B (с падащ списък)

    <AjaxToolkit:AccordionPane ID="AccordionPane1" runat="server">
        <Header>        
        </Header>
        <Content>
            <asp:GridView runat="server" ID="gv" AutoGenerateColumns="false"
                BorderWidth="0" AlternatingRowStyle-BorderStyle="None" ShowFooter="true">
                <Columns>
                    <asp:TemplateField HeaderText="Id">
                        <ItemTemplate>
                            <asp:Label runat="server" ID="lblId" Text='<%# Eval("Id") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Type">
                        <ItemTemplate>
                            <asp:Label runat="server" ID="lblType"></asp:Label>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:DropDownList runat="server" ID="ddlType" OnTextChanged="ddlType_SelectedIndexChanged"
                                AutoPostBack="true">
                            </asp:DropDownList>
                            <asp:Button runat="server" ID="btnTest" OnClick="btnTest_Click" Text="TEST" />
                        </FooterTemplate>
                    </asp:TemplateField>                                               
                </Columns>
            </asp:GridView>
        </Content>
    

Thank you!

АКТУАЛИЗАЦИЯ

Оказва се, че това няма нищо общо с вложените GridViews или Accordion.

След добавяне на следното, събитието вече се задейства успешно:

            if (!Page.IsPostBack)
                Populate(object);

person dankeshawn    schedule 09.04.2012    source източник
comment
Моля, погледнете кода си. Поправих скриването на частта <accordionPane> тук и вие презаписахте корекцията ми =) Целият код трябва да бъде отстъпен с поне 4 интервала.   -  person Josh Darnell    schedule 09.04.2012
comment
Благодаря, коригирах кода.   -  person dankeshawn    schedule 09.04.2012
comment
Няма проблем =) Също така вижте това решение. Със сигурност звучи подобно.   -  person Josh Darnell    schedule 09.04.2012
comment
Това свърши работа. Оказа се, че няма нищо общо с влагането на GridViews/Accordian - това беше пропуск на класически проблем. Ще публикувам решено проследяване. Благодаря за вашата помощ!   -  person dankeshawn    schedule 09.04.2012
comment
Страхотен! Радвам се, че мога да помогна. Наистина трябва да публикувате това решение като отговор на собствения си въпрос, след което да поставите отметка в квадратчето до него. По този начин бъдещите посетители ще знаят как сте решили този проблем =) Успех!   -  person Josh Darnell    schedule 09.04.2012
comment
Аз ще. Опитах се, но се споменава нещо за това как новите членове може да не отговорят на въпроса си в рамките на 8 часа след публикуването му.   -  person dankeshawn    schedule 09.04.2012
comment
Ха, наистина го забравих. Е, ако мислиш за това утре, върни се и публикувай отговора.   -  person Josh Darnell    schedule 09.04.2012


Отговори (1)


Оказва се, че това няма нищо общо с вложените GridViews или Accordion.

След добавяне на следното, събитието вече се задейства успешно:

            if (!Page.IsPostBack)
                Populate(obj);
person dankeshawn    schedule 09.04.2012