ASP.NET AJAX Web Service
目的: 利用 asp.net 網頁上的 html 元件, 透過 javascript 的調用方式呼叫 web service, 最後利用 javascript 將 web service 的回傳值修改原來網頁上的元件
語法: 必須先有 ScriptManager 元件(在原始檔內文中, 參考4.1), 並且做好適當的宣告, 範例如下:
1.) 可以定義一些常用的函數, 整理在Raritan.js裡面
function setInitialChart() {
setTimeout("kvmChartUsage();", 1000);}
//kvm google chart, 完成之後會呼叫OnCompletekvm()函數
function kvmChartUsage() {
retKvmChartUsage = Raritan.GoogleChart.RaritanWebService.kvmChartUsage(OnCompletekvm);
}
function OnCompletekvm(arg) {
document.getElementById("kvmChartUsage").src = arg;
}
3.)在原始檔中, 網頁在body 時候會呼叫setInitialChart() 函數, 這也是 javascript 內定義的函數 <body onload ="setInitialChart();">
4.)宣告該 Web Service, 這邊的做法是在該專案內新增 Web service 服務
4.1) 在原始檔內的宣告:
5.)在原始檔中的 html 元件, 原本會使用processing.png這張圖
<img alt="kvmChartUsage" id="kvmChartUsage" src="../../../images/processing.gif" />
6.)經過調用 Web service 與 Ajax 之後, 一秒鐘之後會變成google API的圖(settimeout 一秒鐘)
PS: 有一點要特別注意, javascript 呼叫 Web service的語法如下:
Raritan.GoogleChart 為 namespace, 也就是說必須為完整路徑才行
上面的路徑參考 Web Service 的 Class 名稱如下圖: