Вы не должны перезаписывать ответ для панели обновления.Как работают панели обновления ASP, выполняется вся страница, и часть внутри панели обновления извлекается из ответа и отправляется клиенту (как ответ на запрос XHRequest).Когда вы делаете Response.BinaryWrite
, вы стираете стандартный вывод, который сервер ожидает проанализировать для новой разметки, которую он хочет отправить.
Единственная причина, по которой кнопка запускает обновлениеПанель, если вы хотите изменить содержимое этой панели.В противном случае просто убедитесь, что кнопка не является триггером панели.Если кнопка должна оставаться на панели, добавьте ее в секцию триггера панели как PostBackTrigger
(обратите внимание на отсутствие Async
).
Например:
<asp:UpdatePanel ID="somePanel" UpdateMode="Conditional" runat="server">
</ContentTemplate>
changing content?
<asp:Button id="someButton" Text="click me!"
OnClick="someButton_Click" runat="server">
other changing content?
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="someButton" />
</Triggers>
</asp:UpdatePanel>