如何使用微软的ajax来做个类似于msn的弹出信息

   大家使用过ms n的人对m sn的当某个人登陆时会出现个弹出框应该非常深刻。它可以提示你得某个人上线了

 

  那么可不可以在asp的页面上使用这种弹出框,而且是使用ajax。大部分的web都会有个数据库的表来存放用户信息。那么你可以使用用户登录时的请求信息来完成这个类似于ms n的功能。

   这这篇文章中我将会使用到微软的ajax。如果你是s2008就不用安装这个,本身就带着。

我们会使用一个MyIndex的表来模拟的你收件箱,这张表包括emailfrom,body和date三列。

  首先我们需要创建一个添加了ajax接口的website,然后打开default.aspx页面的html资源,然后开始添加我们自己隐藏和显示弹出框的ajax代码。实现我们定义一个变量:

 

这个变量用来保存当前数据库那个MyIndex表中的记录数。每当页面被Load的时候它就会记录下来当前表中的记录数目。然后我们在后台代码的Init方法中添加一个event handler。代码如下:

当我们第一次加载这个页面时程序会运行一个script service来执行GetLatestNumberOFEmails方法。这个service的方法在后面会说到。当第一次加载页面的时候我们得到当前的数据库MyIndex表中的记录数目,而且存在numberOfEmails_original中。这个方法的实现如下代码所示:

很明显他是执行了一个callback的方法OnCurrentNumberOfEmailReady。那么这个StartChecking()是干嘛的。呵呵,别急。它是个调用webservice的方法,而方法的代码如下:

可以看到这个startchecking方法也是调用相同的那个ajax service方法。不过他是传给服务器一个叫做OnLatestNumberOfEmailsReady的callback方法。这个javascript实现如下:

这个很好理解吧,每一分钟去check一下。这段代码区判断是否当前那个表记录比刚加载页面时的记录多,如果多的话就显示出来javascript的弹出框,注意它显示的位置。然后再把这个新的记录复制给你的那个numberOfEmails_original变量。依次循环。

上图就是页面显示。下面再附上那个scriptservice的web 方法。

我不知道怎么上传源 代码。如果谁需要可以告诉我。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值