操作步骤:
1。新建一个WebApplication项目,取默认设置。
2。双击设计界面,进入后天代码编辑界面,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
using System;
using System.Web.Services;
namespace WebApplication1
{ public partial class _Default : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
}
[WebMethod]
public static string TestFunc1()
{
return "This is the returns of behind code function one" ;
}
[WebMethod]
public static string TestFunc2( string str)
{
return "This is the returns of behind code function two!You give me the string :" +str;
}
}
} |
3。准备好PageMethods后,编辑Default.aspx文件。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < head runat = "server" >
< title >JS调用后台PageMethods</ title >
< script type = "text/javascript" language = "javascript" >
function TheJSTestfunc1()
{
PageMethods.TestFunc1(onsuccess);
}
function TheJSTestfunc2()
{
var txt=document.getElementById('Text1').value;
PageMethods.TestFunc2(txt,onsuccess);
}
function onsuccess(value)
{
document.getElementById('divResult').innerHTML=value;
}
</ script >
</ head >
< body >
< form id = "form1" runat = "server" >
< asp:ScriptManager ID = "ScriptManager1" runat = "server" EnablePageMethods = "true" >
</ asp:ScriptManager >
< div >
< input id = "Button1" type = "button" value = "button" onclick = "TheJSTestfunc1()" />
< hr />
< input id = "Text1" type = "text" />< input id = "Button2" type = "button" value = "button" onclick = "TheJSTestfunc2()" />
< hr />
The returns :< div id = "divResult" ></ div >
</ div >
</ form >
</ body >
</ html >
|
操作说明:
其实与我的另一篇随笔[JS调用WebService]里面提到的相似。
1.页面中需要添加ScriptManager组件,然后将它的EnablePageMethods属性设置为True。
2.编写页面方法时也要向调用WebService一样,在方法前加[WebMethod],调用WebService与PageMethods其实是同出一辙,原理都是一样的。