ASP.Net异步回发停止绘制JavaScript图形
我有一个JavaScript图形,它读取GridView表数据并绘制到页面上,运行得非常好。我还有一个下拉列表,当选择不同的下拉列表时,它会异步更新表数据。当这种情况发生时,JavaScript在最初正确加载页面后将不再绘制数据。我的理论是JavaScript首先运行,并注意到表数据在其初始状态为空,因为异步刷新最终在JavaScript运行后完成 如何在异步刷新后让JavaScript执行?我曾尝试将脚本放在UpdatePanel的ASP.Net异步回发停止绘制JavaScript图形,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我有一个JavaScript图形,它读取GridView表数据并绘制到页面上,运行得非常好。我还有一个下拉列表,当选择不同的下拉列表时,它会异步更新表数据。当这种情况发生时,JavaScript在最初正确加载页面后将不再绘制数据。我的理论是JavaScript首先运行,并注意到表数据在其初始状态为空,因为异步刷新最终在JavaScript运行后完成 如何在异步刷新后让JavaScript执行?我曾尝试将脚本放在UpdatePanel的部分,但这似乎没有什么不同 <asp:UpdatePan
部分,但这似乎没有什么不同
<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);
已加载函数页(发送方,参数){
//在此处更新/初始化图形数据
}
有关客户端事件处理的更多信息,请查看