最近作一模块 ,实时查询日志系统。
其思路是:1:加载网页时,从数据库读x条记录,显示在页面中。2:设置刷新时间,动态的从数据库中读取记录,在客户端进行
局部刷新。由于是局部刷新,所以就用到了ajax技术.
具体做法是:
1:从网站http://ajax.schwarz-interactive.de/csharpsample/default.aspx 下载ajax.dll动态连接库.
2:配置web.config
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
</system.web>
3:在网页中加入以下代码
<HEAD>
<script language="javascript" src="ajax/common.ashx"></script>
<script language="javascript" src="ajax/AjaxWebApp.Demo,AjaxWebApp.ashx"></script>
</HEAD>
备注:其中AjaxWebApp.Demo中:AjaxWebApp是命名空间名字,Demo是一类名。
4:在Page_Load 中加入Ajax.Utility.RegisterTypeForAjax(typeof( AjaxWebApp.Demo)) 语句。
5:开始在Demo类中写方法:
格式:[Ajax.AjaxMethod]
public string GetDataSet()
{
//读数据的代码。
return HTML;
}
6:在web页的HTML代码中调用此方法。
<script language="javascript">
Demo.GetDataSet(GetDataSet_callback) ;
function GetDataSet_callback(response)
{
var retValue = response.value;
//处理retValue code
}
</script>
7:到现在已完成ajax的基本操作。
8:下面实现动态从服务器端获取数据:
利用javascript 中利用
setInterval("getdata();",refreshTime);
第6部中的代码改为
<script language="javascript">
function getdata()
{
Demo.GetDataSet(GetDataSet_callback) ;
}
function GetDataSet_callback(response)
{
var retValue = response.value;
//处理retValue code
}
setInterval("getdata();",refreshTime);
//refreshTime是自定义刷新时间
</script>
倒此,加上自己要处理数据的代码,就可以了!