ASP.NET 呼叫Web Service 調用 Ajax 應用(修改圖片作為範例)

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 名稱如下圖: