使用AJAX控件来实现Ajax操作(支持服务器事件)
2008-02-23 09:12:39来源:互联网 阅读 ()
在一个在线客服系统中,使用了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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash