JS调用候台方法
以前没发现。。 这种也是一种轻量级的了。
function dd()
{
//这里调用候台方法
//参数在前。方法在候。
PageMethods.EchoString("aaaaa",cc)
}
//这个是完成时要调用的方法
function cc(result)
{
alert(result)
}
// html代码
<input id="buttonGo" type="button" value="GO" onclick="return dd()" />
[System.Web.Services.WebMethod]
public string EchoString(string s)
{
return "Hello : " + s;
}
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
可以看到,在Page Method中,我们获取到了运行在服务端的TextBox的值。如果是在WebServer Method中,就不能再这样来实现了,这一点我想就是Page Method最大的价值吧。同时对于WebService Method和Page Method的工作原理也有很大的区别,看看Dflying Chen的解释:
对于Atlas调用Web Service来说,当请求被发送时候,仅仅简单传给服务器方法的参数数据。而对于Atlas调用Page Method来说,传输的数据将会很多,将把表单中所有的域,包括ViewState,一起传送到服务器。在服务器端,它的工作方式也和普通的PostBack很相似:在这个Page Method被调用前,所有的服务器控件将得到它自身的状态。这也正是为什么Page Method中可以访问页面中控件状态的原因。在实际使用中,我们也是尽可能多的使用WebService Method,只在必要的时候才使用Page Method。