Asp.net 页面上的所有UpdatePanel都在\uuu doPostBack上更新

Asp.net 页面上的所有UpdatePanel都在\uuu doPostBack上更新,asp.net,asp.net-ajax,updatepanel,Asp.net,Asp.net Ajax,Updatepanel,当页面上有多个UpdatePanel时,尝试通过JavaScript更新UpdatePanel时,我遇到了关闭行为 将尽量保持简短: 我已经将UpdateMode设置为Conditional 我正在将UpdatePanel的正确ClientID传递到_EventTarget中 在代码隐藏中,我成功地找到了目标控件 但是由于某些原因,页面上每个UpdatePanel的OnLoad都会被触发 下面是一段代码——知道为什么会发生这种情况吗 Ascx: <div class="updatePane

当页面上有多个UpdatePanel时,尝试通过JavaScript更新UpdatePanel时,我遇到了关闭行为

将尽量保持简短:

我已经将UpdateMode设置为Conditional 我正在将UpdatePanel的正确ClientID传递到_EventTarget中 在代码隐藏中,我成功地找到了目标控件 但是由于某些原因,页面上每个UpdatePanel的OnLoad都会被触发

下面是一段代码——知道为什么会发生这种情况吗

Ascx:

<div class="updatePanelWrapper">
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" RenderMode="Inline" OnLoad="UpdatePanel1Load"
    runat="server">
    <ContentTemplate>
        <asp:Panel ID="Panel1" runat="server">
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="updatePanelWrapper">
<asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" RenderMode="Inline" OnLoad="UpdatePanel2Load"
    runat="server">
    <ContentTemplate>
        <div>
            <asp:Panel ID="Panel2" runat="server">
            </asp:Panel>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>
</div>
触发异步回发的JavaScript:

var updatePanelWrappers = $(".updatePanelWrapper");
var availableWrapper = updatePanelWrappers[0];
var updatePanelElement = $(availableWrapper).children()[0];
var updatePanelId = $(updatePanelElement).attr("id");

window.__doPostBack(updatePanelId, "Some Arguments...");

使用UpdatePanel回调,页面仍然会经历其生命周期的大部分时间;其中包括所有加载事件

var updatePanelWrappers = $(".updatePanelWrapper");
var availableWrapper = updatePanelWrappers[0];
var updatePanelElement = $(availableWrapper).children()[0];
var updatePanelId = $(updatePanelElement).attr("id");

window.__doPostBack(updatePanelId, "Some Arguments...");