使用AJAX控件来实现Ajax操作(支持服务器事件)

2008-02-23 09:12:39来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

在一个在线客服系统中,使用了Ajax技术实现无刷新的信息更新。下面这个例子是定时清理不在线的客户

首先在load事件中注册
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Ajax.Utility.ReGISterTypeForAjax(typeof(Project.www.SC.GuestTalk)); //这里注册了类名
}

//===========服务器事件,由网页客户端发送请求============

/// <summary>
/// 清理活动时间过20分钟的用户
/// </summary>
/// <returns></returns>


[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]


public string ClearGuest()
{
DakingConfig dakingConfig = Config.GetSettings();
foreach(DataRow drGuest in Global.DtGuestList.Rows)
{
TimeSpan ts = System.DateTime.Now - Convert.ToDateTime(drGuest["ActiveTime"]);
if(ts.Minutes>= Convert.ToInt32(dakingConfig.TimeOut))
{
Global.DtGuestList.Rows.Remove(drGuest);
DataRow[] drGuestTalks = Global.DtChatList.Select("GuestId=" drGuest["GuestId"].ToString());
foreach(DataRow drTalk in drGuestTalks)
{
Global.DtChatList.Rows.Remove(drTalk);
}
}
}
return "true";
}

//================网页客户端请求代码=================

<script language="javascript">
var talks = document.getElementById("Talks");

//Talks是网页上的标签,用于显示该请求返回的字符串
function Pop()
{
talks.innerHTML = GuestTalk.GetTalks().value;
GuestTalk.ClearGuest();
}

//20秒自动刷新一次,20秒取得一次数据.
timer = window.setInterval('Pop()',20000);
</script>

上一篇: 将Fedora Core的gcj替换为sun的java的脚本
下一篇: 利用AjAX动态变换过滤条件

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Web Services (JAX-WS) in Java EE 5快速上手

下一篇:将Fedora Core的gcj替换为sun的java的脚本