Javascript 更新特定的<;部门>;更新图表

Javascript 更新特定的<;部门>;更新图表,javascript,jquery,asp.net,html,charts,Javascript,Jquery,Asp.net,Html,Charts,我正在aspx页面中绘制图表。图表已放置在中。我需要更新唯一特定的,这样我就可以让图表每1秒更新一次,而无需刷新整个页面 下面是我的代码 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register Assembly="System

我正在
aspx页面
中绘制图表。图表已放置在
中。我需要更新唯一特定的
,这样我就可以让
图表每1秒更新一次,而无需刷新整个页面

下面是我的代码

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

       <div id="chart">
    <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1" Height="455px" Width="473px" BackColor="DarkGray" BackGradientStyle="Center" BackHatchStyle="BackwardDiagonal" BackImageTransparentColor="0, 192, 192">
        <Series>
            <asp:Series Name="Series1" ChartType="FastPoint" XValueMember="dt" YValueMembers="Id" XValueType="DateTime"></asp:Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="ChartArea1"></asp:ChartArea>
        </ChartAreas>
    </asp:Chart>



<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT top(100) [dt], [Id] FROM [Test4] order by Id desc"></asp:SqlDataSource>

    </div>

</asp:Content>

ASP.NET是一种服务器端语言,这意味着sqldatasource控件仅在首次生成页面时在服务器端执行

您可以通过将图表放入
标记中并每秒刷新该框架来处理此问题,也可以尝试变得复杂,编写一个web api,用JSON数据响应请求,并使用AJAX更新div


MVC4有一个非常健壮的web api,但是,如果您不是从MVC4项目模板开始,那么您最好只创建一个基于参数处理JSON输出的aspx页面。

您应该将图表放在一个
更新面板
中,然后使用
定时器
控件在特定的时间间隔内刷新更新面板

这些链接可能对您有所帮助

编辑

更好的方法是使用jQueryAjax调用。其实施的总体思路是:

  • 创建一个用户控件(.ascx文件),其中将包含图表和加载逻辑

  • 在任何cs文件中定义一个方法,该方法将创建此用户控件的实例(使用
    Page.LoadControl
    method),然后调用它的一些方法来加载它并返回它的面板或占位符,从这里可以使用
    RenderControl
    方法生成html,此html将显示给您的
    div

  • 可以在特定的时间间隔内通过jquery调用此方法