Mega Code Archive

 
Categories / ASP.Net Tutorial / Ajax
 

Using Text and Value Pairs with the AutoCompleteExtender

<%@ Page Language="C#" %> <%@ Register TagPrefix="ajax" Namespace="AjaxControlToolkit"  Assembly="AjaxControlToolkit" %> <%@ Import Namespace="System.Collections.Generic" %> <%@ Import Namespace="System.Linq" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     [System.Web.Services.WebMethod]     public static string[] GetSuggestions(string prefixText, int count)     {         MyDatabaseDataContext db = new MyDatabaseDataContext();         List<Product> products = db.Products             .Where( m => m.Title.StartsWith(prefixText) )             .OrderBy( m => m.Title )             .Take(count)             .ToList();         return products             .Select( m => AutoCompleteExtender.CreateAutoCompleteItem(                m.Title, m.Id.ToString()))             .ToArray();     }     protected void btnSubmit_Click(object sender, EventArgs e)     {         lblSelectedProductTitle.Text = txtProductTitle.Text;         lblSelectedProductId.Text = ace1Value.Value;     } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server">     <title>AutoComplete Page Method</title>     <script type="text/javascript">     function ace1_itemSelected(sender, e)     {         var ace1Value = $get('<%= ace1Value.ClientID %>');         ace1Value.value = e.get_value();     }     </script> </head> <body>     <form id="form1" runat="server">     <div>     <asp:ScriptManager ID="sm1" runat="server" />     <asp:Label         id="lblProductTitle"         Text="Product:"         AssociatedControlID="txtProductTitle"         Runat="server" />     <asp:TextBox         id="txtProductTitle"         AutoComplete="off"         Runat="server" />     <ajax:AutoCompleteExtender         id="ace1"         TargetControlID="txtProductTitle"         ServiceMethod="GetSuggestions"         MinimumPrefixLength="1"         OnClientItemSelected="ace1_itemSelected"         FirstRowSelected="true"         runat="server" />     <asp:HiddenField         id="ace1Value"         Runat="server" />     <asp:Button         id="btnSubmit"         Text="Submit"         OnClick="btnSubmit_Click"         Runat="server" />     <br /><br />     Title:     <asp:Label         id="lblSelectedProductTitle"         runat="server" />     <br /><br />     Primary Key:     <asp:Label         id="lblSelectedProductId"         runat="server" />     </div>     </form> </body> </html>