ASP.Net异步回发停止绘制JavaScript图形

ASP.Net异步回发停止绘制JavaScript图形,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我有一个JavaScript图形,它读取GridView表数据并绘制到页面上,运行得非常好。我还有一个下拉列表,当选择不同的下拉列表时,它会异步更新表数据。当这种情况发生时,JavaScript在最初正确加载页面后将不再绘制数据。我的理论是JavaScript首先运行,并注意到表数据在其初始状态为空,因为异步刷新最终在JavaScript运行后完成 如何在异步刷新后让JavaScript执行?我曾尝试将脚本放在UpdatePanel的部分,但这似乎没有什么不同 <asp:UpdatePan

我有一个JavaScript图形,它读取GridView表数据并绘制到页面上,运行得非常好。我还有一个下拉列表,当选择不同的下拉列表时,它会异步更新表数据。当这种情况发生时,JavaScript在最初正确加载页面后将不再绘制数据。我的理论是JavaScript首先运行,并注意到表数据在其初始状态为空,因为异步刷新最终在JavaScript运行后完成

如何在异步刷新后让JavaScript执行?我曾尝试将脚本放在UpdatePanel的
部分,但这似乎没有什么不同

<asp:UpdatePanel ID="upTeamSelect" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <div class="form-grid">               
            <p>Team</p>
            <asp:DropDownList ID="cmbUser" cssclass="form-list" runat="server" AutoPostBack="True" DataSourceID="AP_Users" DataTextField="sr_userName" DataValueField="sr_usserName">
            </asp:DropDownList>

            <asp:SqlDataSource ID="AP_Team"  runat="server" ConnectionString="<%$ ConnectionStrings:<REDACTED>> %>" SelectCommand="SELECT [sr_userName] FROM [sr_users] WHERE ([sr_active] = @sr_active)" >
                <SelectParameters>
                    <asp:Parameter DefaultValue="TRUE" Name="sr_active" Type="Boolean" />
                </SelectParameters>
            </asp:SqlDataSource>
        </div>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="cmbTeam" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

<Script>
    <!-- Javascript graph here -->
</Script>

团队


您可以为此使用客户端页面生命周期事件。
例如,如果您想在页面的每次回发之后做一些事情(无论是ajax回发还是完全回发),您可以使用页面加载事件,如下所示:

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);
已加载函数页(发送方,参数){
//在此处更新/初始化图形数据
}
有关客户端事件处理的更多信息,请查看