最近作一模塊 ,實時查詢日志系統。
其思路是: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>
倒此,加上自己要處理數據的代碼,就可以了!