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调用此方法