首先,我们应该先在项目上添加一个WEB服务(WebService.asmx),在代码文件(WebService.cs)中书写代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
using
System;
using System.Collections;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
/// <summary>
/// WebService 的摘要说明
/// </summary>
///
[ScriptService]
[WebService(Namespace = " http://tempuri.org/ " )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
// 如果使用设计的组件,请取消注释以下行
// InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return " Hello World " ;
}
[WebMethod] //
public int ADD( int a, int b)
{
return a + b;
}
}
Default.aspx
using System.Collections;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
/// <summary>
/// WebService 的摘要说明
/// </summary>
///
[ScriptService]
[WebService(Namespace = " http://tempuri.org/ " )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
// 如果使用设计的组件,请取消注释以下行
// InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return " Hello World " ;
}
[WebMethod] //
public int ADD( int a, int b)
{
return a + b;
}
}
最重要的是第12行,
[ScriptService]加上这个后就可以用js调用WEB
Services了。
还有一个地方应该注意“[ScriptService]”这个是需要命名空间的,在asp.net3.5
下是System.Web.Script.Services;在2.0下没有找到这个空间,这个希望看过的网
友帮忙解释下。
下面介绍如何通过js调用这个 web Services
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<
script language
=
"
javascript
"
>
function OnbuttonGo_click()
{
requestSimpleService = WebService.HelloWorld(
// params
OnRequestComplete // Complete event
);
return false ;
}
function OnRequestComplete(result)
{
alert(result);
}
</ script >
< asp:ScriptManager ID = " ScriptManager1 " runat = " server " >
< Services >
< asp:ServiceReference Path = " WebService.asmx " />
</ Services >
</ asp:ScriptManager >
< input type = " button " value = " 调用webservice " onclick = " return OnbuttonGo_click(); " />
function OnbuttonGo_click()
{
requestSimpleService = WebService.HelloWorld(
// params
OnRequestComplete // Complete event
);
return false ;
}
function OnRequestComplete(result)
{
alert(result);
}
</ script >
< asp:ScriptManager ID = " ScriptManager1 " runat = " server " >
< Services >
< asp:ServiceReference Path = " WebService.asmx " />
</ Services >
</ asp:ScriptManager >
< input type = " button " value = " 调用webservice " onclick = " return OnbuttonGo_click(); " />
html部分只要添加一个ScriptManager,ScriptManager里面一定要加上ServiceReference引用,不然会报错。
在添加一个客户端的按钮调用一下click事件
在事件处理中可以直接使用WEBService给的类名及方法,方法的参数列表最后应该加上一个请求完成的函数,
以便在处理完成返回结果。
同理,WebService里的add方法也是可以这样调用。可要params部分加入传入的参数即可。
本文学习自TerryLee的ASP.NET AJAX入门系列文章
http://www.cnblogs.com/Terrylee/archive/2006/10/25/ASPNET_AJAX_ScriptManager.html
已经更新错误,下面是样例下载。这次是可用的了! demo下载