<html xmlns=""> <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> </ajaxToolkit:ToolkitScriptManager> <ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" MinimumPrefixLength="1" ServiceMethod="HelloWorld" ServicePath="Service.asmx" TargetControlID="txt" CompletionSetCount="1"> </ajaxToolkit:AutoCompleteExtender> <asp:TextBox ID="txt" runat="server"></asp:TextBox> </div> </form> </body> </html>
Service.asmx
public class Service : System.Web.Services.WebService { public Service () { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string[] HelloWorld() { return new string[] {"Hello World"}; } }PS: Web服务应返还数组类型的返回值,如果返回字符串AutoCompleteExtender控件,会将其打散成一个字符数组小结
ASP.NET AJAX 为调用 Web 服务以便处理请求和响应消息、而无需编写大量定制 JavaScript 代码提供了极佳的支持。本文档介绍了如何为.NET Web 服务启用 AJAX,以使它们能处理 JSON 消息,以及如何使用 ScriptManager 控件定义JavaScript 代理。此外我们还学习了如何使用JavaScript 代理调用 Web 服务、处理简单和复杂类型以及处理失败操作。最后,我们还学习了如何使用页面方法简化创建和发起Web 服务调用,以及 AutoCompleteExtender 控件如何为终端用户进行输入时提供帮助。尽管ASP.NET AJAX 中可用的UpdatePanel 将因其简洁性最终成为许多AJAX 程序员的选择,但了解如何通过JavaScript 代理调用 Web 服务在许多应用程序中也是有用的。