WebForm实现实时信息提醒功能(Timers与Ajax实现及优劣浅析)
来源:互联网 发布:手机软件java版下载 编辑:程序博客网 时间:2024/05/21 19:48
本文主要讲述通过C#定时器Timers类及通过引用第三方类Aajx来实现‘OA’等系统中比较常用的信息提醒功能,并小做分析!
一,运用Timers定时器触发事件
此方法主要是指在触发事件里查询数据库,当需要的时候,调用Js,实现信息提醒的功能。方法一:前台页面插入一个Timers控件
<asp:ScriptManager runat="server"></asp:ScriptManager> <asp:UpdatePanel runat="server"> <ContentTemplate> <asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Enabled="true" Interval="500000"> </asp:Timer> </ContentTemplate> </asp:UpdatePanel>后台代码如下
protected void Timer1_Tick(object sender, EventArgs e) { try { int i = MesBll.GetMesCount();//获取数据库需要提示数据的个数 if (i != 0) { //相关需要引用的函数 } } catch (Exception) { throw; } }方法二:直接后台调用Timers类
private void InitializeComponent() { System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(GetMessageCount);//到达时间的时候执行事件GetMessageCount; aTimer.Interval = 500000;//设置引发时间的时间间隔 此处设置为100秒(1000*100毫秒) aTimer.AutoReset = true;//设置是执行一次(false)还是一直执行(true); aTimer.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; } private void GetMessageCount(object sender, EventArgs e) { try { int i = MesBll.GetMesCount();//获取数据库需要提示数据的个数 if (i != 0) { //相关需要引用的函数 } } catch (Exception) { throw; } }
二,引用Ajax实现信息提醒功能
首先是前期配置。在bin文件夹下引用下载好的AjaxPro.2.dll文件,然后是在web.config文件下加入下面这段配置代码。
<system.web> <!--调用ajax,留言信息提醒用--> <httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> </httpHandlers> </system.web>OK,完美完成,其实运用很简单,首先是在后台调用Ajax并写好相应的响应事件:
Bll.CusLeaMassegeBll MesBll = new Bll.CusLeaMassegeBll(); protected void Page_Load(object sender, EventArgs e) { #region 注册无刷新 AjaxPro.Utility.RegisterTypeForAjax(typeof(Text));//Text为我当前页面的类名 #endregion if (!IsPostBack) { } } /// <summary> /// 查看用户当前的数据表 /// </summary> /// <returns></returns> [AjaxPro.AjaxMethod] public string getxx() { int news = MesBll.GetMesCount();//从数据表里得到需要提醒的数值 return news.ToString(); }然后,现在只要在前台调用这段js就可以了。
<script language="javascript" type="text/javascript"> setInterval("getque()", 50000); //从数据库中读取数据是间隔时间,每1000值为1分钟 function getque() { var getobject = Text.getxx(callback);} //取当前用户的新信息,返回新信息的数量,Text为后台类名 function callback(res) //回调函数 { var i= document.getElementById("disMes"); if (res.value > 0){//如果新信息的数量大于0则给用户弹窗口提示,这里只是测试,您可以用其它方法来实现提示 i.style.display = "block"; alert('您收到' +res.value + '条新信息,点击确定查看'); // varurl="Default.aspx"; // window.open(url,'600','400',1); //点击确定后进入当前用户的收件箱页面。 } }</script>
- WebForm实现实时信息提醒功能(Timers与Ajax实现及优劣浅析)
- WebForm实现实时信息提醒功能(Timers与Ajax实现及优劣浅析)
- jQuery+ThinkPHP+Ajax实现即时消息提醒功能
- ionic+cordova基于websocket实现的实时通报提醒功能
- 用Ajax实现网页实时消息功能
- 【反ajax】webSocket实现实时推送功能
- 【反ajax】webSocket实现实时推送功能
- jQ实现表单实时提醒
- ajax实现异步加载页面,实现信息实时更新
- Java实现邮件提醒功能
- 线程Thread实现界面定时提醒功能与时间显示
- 使用 SignalR 实现实时的提醒
- 实现Web页面新消息实时提醒
- Jira整合OpenFire实现任务实时提醒
- jquery实现:实时提醒文本框输入状态
- JIRA整合OpenFire实现任务实时提醒
- ajax实现实时刷新
- json+ajax实现实时刷新和增删查功能
- duilib学习笔记
- Ubuntu下gcc安装及使用
- python
- NSMutableURLRequest请求
- IO流的学习总结2
- WebForm实现实时信息提醒功能(Timers与Ajax实现及优劣浅析)
- 设计范式解析:从面向对象的设计模式看软件设计(zz)
- ADF BC组件的理解
- vc中遇到错误提示:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
- git+github创建分支&提交并贡献代码
- Android应用程序实现欢迎引导页面的方法实现
- 我的第一 lucene 实例
- 观察者模式--Observer
- 在Mac下使用Lemon