РЕДАКТИРОВАТЬ: Я хотел бы пересмотреть мой ответ на основе некоторых новых вещей, которые я обнаружил при работе с панелями обновления в UpdateMode = "Условный".
Это все еще в контексте решения проблемы ОП, связанной с вышеуказанной ошибкой.
Сценарий для меня заключается в том, что у меня есть родительская панель обновлений с несколькими вложенными дочерними панелями обновлений:
<asp:UpdatePanel ID="upParent" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Header Content --%>
<asp:UpdatePanel ID="upChild1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child1 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upChild2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child2 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btnEditMode" runat="server" Text="Edit" OnClick="btnEditMode_Click"></asp:Button>
</ContentTemplate>
</asp:UpdatePanel>
Чтобы кнопка «Изменить» изменила содержимое обеих дочерних панелей обновления, а также обновила общую панель родительских обновлений, не вызывая каких-либо проблем, вы можете рассмотреть возможность выполнения асинхронной обратной передачи:
<asp:UpdatePanel ID="upParent" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnEditMode" EventName="Click" />
</Triggers>
<ContentTemplate>
<%-- Header Content --%>
<asp:UpdatePanel ID="upChild1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child1 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upChild2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child2 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btnEditMode" runat="server" Text="Edit" OnClick="btnEditMode_Click"></asp:Button>
</ContentTemplate>
</asp:UpdatePanel>
Это работает для меня, я больше не получаю вышеупомянутую (OP) ошибку.
Интересно, что, почти как в сценарии OP, я работал с Ajax Tab Controls, и каждая вкладка содержала дочерние панели обновлений. Именно здесь я обнаружил точно такое же сообщение об ошибке и исправил его, добавив асинхронный триггер обратной записи.