1、新建个一般的asp.net website,“添加新项”--添加一个SimpleService.asmx;
把SimpleService.cs原来的HelloWorld()改写为SayHello(),代码如下:





2、在Default.aspx页面添加一个TextBox1、一个Button、一个Label。
3、双击Button,写入代码如下:







到这里,这个程序算完成了,下面来看看怎么在这个基础上应用Ajax技术。
4、另外打开vs,新建一个AJAXEnabledWebSite,用AJAXEnabledWebSite的web.config来替换原先的程序的web.config。
还要在SimpleService.cs里
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]下面添加一行代码:
[System.Web.Script.Services.ScriptService()]
现在“在浏览器中查看”SimpleService.asmx,然后再把http://localhost:2375/addajax/SimpleService.asmx
改为http://localhost:2375/addajax/SimpleService.asmx/js点“go”
就有个js弹出。也就是webservice被编译为客户端的javascript代码了。
5、把Default.aspx页面里的TextBox1、Button、Label都delete掉,把Default.aspx.cs里的
protected void Button1_Click(object sender, EventArgs e)的代码也delete掉。
6、在Default.aspx页面里添加一个input(Text)、一个input(Button)、一个input(Text)。
双击input(Button),写入代码如下:
<script language="javascript" type="text/javascript">
<!--
function Button1_onclick() {
ret = SimpleService.SayHello(document.getElementById('Text1').value, OnComplete, OnTimeOut,
OnError);
return(true);
}
function OnComplete(args) {
document.getElementById('Text2').innerText = args;
}
function OnTimeOut(args) {
alert("Service call timed out.");
}
function OnError(args) {
alert("Error calling service method.");
}
// -->
</script>
=======
7、添加在Default.aspx页面里添加一个ScriptManager,并把
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
改为
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="SimpleService.asmx" />
</Services>
</asp:ScriptManager>
8.成功!参考:http://asp.net/learn/ajax-videos/ ;video7