1. 程式人生 > >在ASP.NET中用JS如何呼叫Server端方法?

在ASP.NET中用JS如何呼叫Server端方法?

這個需要用到AJAX了

ASP.NET AJAX(Atlas)版本的實現程式碼

首先是頁面的HTML部分,注意ASP.NET AJAX(Atlas)獨有的ScriptManager控制元件:

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<input type="button" value="Get Server Time" id="btnGetServerTime" onclick="return btnGetServerTime_onclick()" />
<span id="result" />
</div>
然後是客戶端JavaScript部分,注意用PageMethods.GetServerTime()這樣的形式呼叫伺服器端方法:

function btnGetServerTime_onclick() {
PageMethods.GetServerTime(cb_getServerTime);
}

function cb_getServerTime(result) {
document.getElementById("result").innerHTML = result;
}
伺服器端程式碼如下,注意方法必須為靜態,且新增[System.Web.Services.WebMethod]和[Microsoft.Web.Script.Services.ScriptMethod]兩個屬性:

[System.Web.Services.WebMethod]
[Microsoft.Web.Script.Services.ScriptMethod]
public static string GetServerTime()
{
return DateTime.Now.ToString();