Introduction
This tip shows how to use Ajax AutoCompleteExtender
in an ASP.NET application, without adding a Web Service.
Steps
- Create an ASP.NET 4.0 Web Application
- Add reference to AjaxControlToolit
- Open Default.aspx
- Add Script Manager
- Add Ajax
AutoCompleteExtender
Using the Code
Using the code (default.aspx)
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"
EnablePageMethods = "true">
</asp:ScriptManager>
Enter a Product Name
<asp:TextBox ID="txtProductList" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ServiceMethod="GetProductList"
MinimumPrefixLength="1"
CompletionInterval="0" EnableCaching="false" CompletionSetCount="10"
TargetControlID="txtProductList"
ID="autoCompleteExtender1" runat="server" FirstRowSelected = "false">
</cc1:AutoCompleteExtender>
</div>
</form>
</body>
</html>
Default.aspx.cs
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static string[] GetProductList(string prefixText, int count)
{
List<string> productList = GetProducts();
var list = from p in productList
where p.Contains(prefixText)
select p;
string[] prefixTextArray = list.ToArray<string>();
return prefixTextArray;
}
Points of Interest
- If you want that your method responds to the Scripting Language, make sure to add
[System.Web.Script.Services.ScriptMethod()]
to method attribute. Else, this won't work - And yes, this does not require addition of Web Service!
History
- 29th June, 2012: Initial version