Измените свойство ChildrenAsTriggers
UpdatePanel на true
.Это приведет к тому, что любые обратные вызовы, инициированные дочерними элементами UpdatePanel, обновят его содержимое.
EDIT : только что поняли, что btn_Add
является вложенным элементом управления, поэтому вам придется явно вызвать егокак UpdatePanel Trigger
.Добавьте следующее к вашей разметке UpdatePanel после ContentTemplate:
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btn_Add" />
</Triggers>
EDIT # 2 : чтобы не допустить закрытия модального всплывающего окна при асинхронной обратной передаче, переместите UpdatePanel
внутрьпанель, указанная в PopupControlID ModalPopupExtender:
<asp:Panel ID="pnlpopup" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:ListBox ID="lst_allmembers" DataValueField="FirstName" runat="server" />
<asp:Button ID="btn_Add" runat="server" Text="Add" OnClick="btn_Add_Click" />
<asp:ListBox ID="lst_grpmembers" runat="server" />
<asp:Button ID="btn_remove" runat="server" Text="Remove" />
<asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" OnClick="btnUpdate_Click" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>