asp.net中Timer定时器在web中无刷新的使用
https://www.cnblogs.com/ysq0908/p/5816129.html
最近在做一个项目的时候,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只是在你第一次打开页面是 显示,此后就不会显示了。
分类:
前端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了