Page registration: <%@ Register TagPrefix="asp" Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit"%> web.config registration: ---Place the registration between the controls tags Html: Style: /*AutoComplete flyout */ .completionList { border:solid 1px #444444; margin:0px; padding:2px; height: 100px; overflow:auto; background-color: #FFFFFF; width: 200px !important; } .listItem { color: #1C1C1C; } .itemHighlighted { background-color: #ffc0c0; } Web Service: VB _ _ _ _ Public Class WebServiceProxy Inherits System.Web.Services.WebService _ Public Function ValidateStringAjax(ByVal prefixText As String) As ArrayList Dim items As New ArrayList() Dim ws As New org.jocogov.ims.PropertyWebService Dim strLoginResult As Array strLoginResult = ws.ValidateStringAjax(prefixText, 25, '') For Each i In strLoginResult items.Add(i.Name.ToString) Next Return items End Function C# [System.Web.Script.Services.ScriptService()] [WebService(Description = "", Name = "AIMSWebServiceProxy", Namespace = "https://aims.jocogov.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [Microsoft.VisualBasic.CompilerServices.DesignerGenerated()] public class WebServiceProxy : System.Web.Services.WebService { public ArrayList ValidateStringAjax(string prefixText) { ArrayList items = new ArrayList(); org.jocogov.ims.PropertyWebService ws = new org.jocogov.ims.PropertyWebService(); Array strLoginResult = default(Array); strLoginResult = ws.ValidateStringAjax(prefixText, 25, ''); foreach (object i_loopVariable in strLoginResult) { i = i_loopVariable; items.Add(i.Name.ToString); } return items; } }