资源地址:http://hi.baidu.com/%BF%D7%B7%B1%E1%AA/blog/item/11712f11fd221dc1a6ef3fe6.html
在ASP.net 中,客户端(client side)调用服务器端(server side)方法,一般是使用客户端代码调用web服务进行,这样的情况下,我们需要建立一个新的web服务(asmx)来执行这项过程,如果工程量不大的话,并且web服务跟web应用程序是同在一台服务器上的话,我们完全可以将原来web服务的方法,变成页(page method)方法,再从客户端进行调用。注意,这个过程实际上还是将原来页面的方法转换成web服务加以调用。
1、编写服务器端方法,
[System.Web.Services.WebMethod]
public static string GetHelloWorld()
{
return "Hello world" + DateTime.Now.ToString();
}
注意:首先,方法必须是静态方法,其次,必须添加元数据,设置该方法是web方法
2、客户端调用js代码,
<script type="text/javascript">
function GetHelloWorld(){
des = "tb";
PageMethods.GetHelloWorld(succeed,fail,des);
}
function succeed(result,des){
$get(des).value = result;
}
function fail(result,des){
alert("不能取得数据");
}
</script>
注意:客户端调用,需要使用PageMethods引用当前页面中所有可用的web方法,调用时,签名如下:
PageMethods.方法([方法参数],成功时的回调函数,失败时的回调函数,上下文引用或其它需要引出到回调函数的参数);
回调函数的签名:
function 函数名(回传数据,上下文引用或引入到回调函数的参数)