利用ASP.net Ajax 调用web service 里面的方面,简单易学的例子:
(1) 配置webservice
1:引用:using System.Web.Script.Services;
2:在类前写上属性[ScriptService ]表示webservice method可以被javascript调用——具体代码为

Code
1
[ScriptService ]
2
public class WebService1 : System.Web.Services.WebService
3
{
4
5
[WebMethod ]
6
[ScriptMethod]
7
public string SayHelloByName(string name)
8
{
9
return "Helllo" +" " + name;
10
}
11
}
3:配置webservice完成
(2)web.config配置:
1:添加以下配置

Code
1
<!-- add webServer for clientServer-->
2
<configSections>
3
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
4
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
5
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
6
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
7
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
8
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
9
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
10
</sectionGroup>
11
</sectionGroup>
12
</sectionGroup>
13
</configSections>
14
//下面的 <httpHandlers>, <httpModules>添加在<system.web>里面
15
<!-- add webServer for clientServer-->
16
<httpHandlers>
17
<remove verb="*" path="*.asmx"/>
18
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
19
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
20
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
21
</httpHandlers>
22
<!-- add webServer for clientServer-->
23
<httpModules>
24
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
25
</httpModules>
26
<!-- add webServer for clientServer-->
27
<system.webServer>
28
<validation validateIntegratedModeConfiguration="false"/>
29
<modules>
30
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
31
</modules>
32
<handlers>
33
<remove name="WebServiceHandlerFactory-Integrated"/>
34
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
35
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
36
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
37
</handlers>
38
</system.webServer>
(3) 前台*.aspx
(1)投放 <asp:ScriptManager>控件,调用WebMeth

Code
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="WebService1.asmx" />//调用WebMethod
</Services>
</asp:ScriptManager>
(2) OK,最后就是效果展示
<script language="javascript" type="text/javascript">
// <!CDATA[
function Button1_onclick() {
var message = OneDemo.WebService1.SayHelloByName(document.getElementById("Text1").value,OnComplete,OnErron);
return true;
}
function OnComplete(arg) {
alert(arg);
}
function OnErron(arg) {
alert("It 's Ocurre error");
}
// ]]>
</script>
<input id="Text1" type="text" />
<input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />

3:Demo is complete,以后陆续把asp.net ajax 完整的Demo 写完