У меня есть страница с вложенной панелью обновлений.
Внутренний UP имеет выбор дерева.
На внешнем ВВЕРХ имеется кнопка (триггер обратной передачи).
AsyncPostBackTrigger для внутреннего UP работает нормально. Но после того, как я изменил некоторые настройки, кнопка во внешнем UP не работает.
На самом деле он что-то делает: обновляет внутренний UP.
Когда я щелкаю где-то вне внешнего UP, а затем нажимаю кнопку, она работает - она обновляет всю страницу.
При удалении внутреннего UP поведение исчезает.
Я искал такие темы, как __EVENTTARGET и WebForm_DoPostBackWithOptions (options.clientSubmit). Это не помогает полностью: при изменении clientSubmit на TRUE он выполняет свою работу, но не устраняет основную проблему. Так что это было бы НЕ просто обходной путь, потому что после нажатия где-нибудь за пределами внешнего UP он работает нормально.
<asp:UpdatePanel id="outerUP" runat="server" updatemode="Conditional" childrenastriggers="false">
<Triggers>
<asp:PostBackTrigger controlid="Expander" />
<Triggers>
<ContentTemplate>
[...]
<xxx:ExpandingPanel ID="Expander" runat="server">
<Content>
[...]
<xxx:FilterSelector id="FilterSelector1" runat="server" />
[...]
</Content>
</xxx:ExpandingPanel>
[...]
</Content>
</asp:UpdatePanel>
Панель расширения имеет кнопку
<asp:Button id="additionalButton" runat="server" visible="true"></asp:Button>
Вид дерева выглядит так
<asp:UpdatePanel id="innerUP" runat="server" updatemode="Conditional" childrenastriggers="true">
<Triggers>
<asp:AsyncPostBackTrigger controlid="TreeView" eventname="SelectedNodeChanged" />
<asp:AsyncPostBackTrigger controlid="TreeView" eventname="SelectedNodeExpanded" />
<asp:AsyncPostBackTrigger controlid="TreeView" eventname="TreeNodeChecked" />
</Triggers>
<ContentTemplate>
[...]
<xxx:TreeView id="TreeView" runat="server" />
[...]
</ContentTemplate>
</asp:UpdatePanel>
Я хочу, чтобы внешняя кнопка запускала свой собственный PostbackTrigger, чтобы не обновлялась внутренняя UP.