スタンドアロンGridViewのDropDownListにバインドされたイベントは、明らかにこの方法で機能しますが、このシナリオでは状況が少し複雑になります。
DropDownListに対してイベントは発生しません。興味深いのは、ButtonDoesfireにバインドされたイベントです。DropDownListとTextBoxの違いがわからない。
OnSelectedIndexChangedとOnTextChangedの両方を試しましたが、どちらも機能しません。
ネストは次のとおりです。
- GridView A
- Ajaxアコーディオン
GridView B(DropDownList付き)
<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>
ありがとうございました!
アップデート
これは、ネストされたGridViewsまたはAccordionとは何の関係もありませんでした。
以下を追加した後、イベントは正常に発生します。
if (!Page.IsPostBack)
Populate(object);