asp.net中Timer定时器在web中无刷新的使用

最近在做一个项目的时候,web端的数据需要与数据源进行实时同步,并保证数据的准确性,当时,考虑到使用ajax异步刷新技术。但后来在网上查找相关资料时,发现这样做,太浪费资源了,因为ajax的提交请求不应该这么频繁的,只适用于那种手动请求响应的那种,因此这种办法是行不通了,后来,发现asp.net中有一个定时器Timer,可以进行实时同步数据,因此本人就做了一个小小的测试,发现还挺好用的,于是乎就有了下文。如下:

关于如何准确定时器同步出现问题的解决方案:http://www.shaoqun.com/a/103654.aspx

aspx页面中的代码:

<form id="form1" runat="server"> 
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
      <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
        <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
        </asp:Timer>
         update中的:<asp:Label  ID="Label2" runat="server" Text=""></asp:Label>
      </ContentTemplate>
           </asp:UpdatePanel>
        当前秒:<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    </div>
   </form>

cs服务器上的代码:

 protected void Page_Load(object sender, EventArgs e)
        {
           
        }
        protected void Timer1_Tick(object sender, EventArgs e)
        {
            //这里可以操作你想做的事情,比如定时查询数据库
            Label1.Text = DateTime.Now.ToLongTimeString()+":"+DateTime.Now.Millisecond;
            Label2.Text = DateTime.Now.ToLongTimeString() + ":" + DateTime.Now.Millisecond;
        }

 

 说明一下:

要想使用Timer定时器进行无刷新技术实现。首先在aspx页面代码中必须使用ScriptManager控件,同时使用UpdatePanel控件,这样才会达到想要的结果。

测试后,你会发现,在UpdatePanel中的Label2对应的时间在不停的变化,和Lable1只是在你第一次打开页面是 显示,此后就不会显示了。

 

转载于:https://www.cnblogs.com/ysq0908/p/5816129.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值