Событие, привязанное к DropDownList в автономном GridView, очевидно, будет работать таким образом, но в этом сценарии все немного сложнее.
Событие не запускается для DropDownList. Что интересно, так это событие, привязанное к кнопке Срабатывает. Не уверен, в чем разница между DropDownList и TextBox.
Я пробовал как OnSelectedIndexChanged, так и OnTextChanged - ни одна из них не работает.
Вложенность следующая:
- GridView A
- Аякс Аккордеон
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>
Thank you!
ОБНОВЛЕНИЕ
Оказывается, это не имело ничего общего с вложенными объектами GridView или Accordion.
После добавления следующего, событие теперь успешно запускается:
if (!Page.IsPostBack)
Populate(object);
<accordionPane>
была скрыта здесь, и вы перезаписали мое исправление =) Весь код должен иметь отступ как минимум на 4 пробела. - person Josh Darnell   schedule 09.04.2012