在独立的 GridView 中绑定到 DropDownList 的事件显然会以这种方式工作,但在这种情况下事情会更复杂一些。
DropDownList 不会触发该事件。有趣的是绑定到 Button Does fire的事件。不确定 DropDownList 和 TextBox 之间有什么区别。
我已经尝试过 OnSelectedIndexChanged 和 OnTextChanged - 都不起作用。
嵌套如下:
- 网格视图 A
- 阿贾克斯手风琴
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>
谢谢!
更新
原来这与嵌套的 GridViews 或 Accordion 无关。
添加以下内容后,该事件现在成功触发:
if (!Page.IsPostBack)
Populate(object);