讓客戶端JavaScript 直接異步調用服務器端的Web Service,這看起來真的是個不錯的主意——理想化的分層Ajax應用程序就應該這樣嘛!不過作為被ASP.NET
protected void Button1_Click(object sender, EventArgs e)
{
myLabel.Text = this.GetTextForLabel();
}
public string GetTextForLabel()
{
// ......
return "Some Text";
}
首先是定義在ASP.NET頁面中的類方法,完整的方法聲明如下:
[WebMethod]
public static string SayHelloFromPage(string name)
{
return string.Format("Hello {0}!", name);
}
特別需要注意的是,若要讓ASP.NET AJAX為其生成客戶端調用代理,那么一定要為該方法添加[WebMethod]屬性。
程序界面中的UI元素和前一節示例程序中的完全一致,這里不贅:
onclick="return btnInvoke_onclick()" />
而本示例程序中按鈕的click事件處理函數以及異步調用的回調函數則需要一定的修改,如下所示:
function btnInvoke_onclick() {
var theName = $get("tbName").value;
PageMethods.SayHelloFromPage(theName, onSayHelloSuclearcase/" target="_blank" >cceeded);
}
原文轉自:http://www.anti-gravitydesign.com