File: FileService.asmx <%@ WebService Language="C#" Class="FileService" %> using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.IO; using System.Linq; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] public class FileService : System.Web.Services.WebService { [WebMethod] public string[] GetSuggestions(string prefixText, int count) { DirectoryInfo dir = new DirectoryInfo("c:\\windows"); return dir .GetFiles() .Where( f => f.Name.StartsWith(prefixText) ) .Select( f => f.Name ) .ToArray(); } } File: AutoCompleteWebService.aspx <%@ Page Language="C#" %> <%@ Register TagPrefix="ajax" Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void btnSubmit_Click(object sender, EventArgs e) { lblSelectedFileName.Text = txtFileName.Text; } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Show AutoComplete Web Service</title> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="sm1" runat="server" /> <asp:Label id="lblFileName" Text="File Name:" AssociatedControlID="txtFileName" Runat="server" /> <asp:TextBox id="txtFileName" AutoComplete="off" Runat="server" /> <ajax:AutoCompleteExtender id="ace1" TargetControlID="txtFileName" ServiceMethod="GetSuggestions" ServicePath="~/FileService.asmx" MinimumPrefixLength="1" runat="server" /> <asp:Button id="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" Runat="server"/> <br /><br /> <asp:Label id="lblSelectedFileName" runat="server" /> </div> </form> </body> </html>