Introduction:
AutoComplete is an ASP.NET AJAX extender that can be attached to any TextBox control, and will
associate that control with a popup panel to display words that begin with the prefix typed into
the textbox.
Sql Table:
create table PerformanceReport ( id int, Country varchar(50) )
ASPX:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>ajax Autocomplete control</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="txtCountry" runat="server"></asp:TextBox> <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtCountry" MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="GetCountries" > </asp:AutoCompleteExtender> </div> </form> </body> </html>
CS:
using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Configuration; [System.Web.Script.Services.ScriptMethod()] [System.Web.Services.WebMethod] public static List<string> GetCountries(string prefixText) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString()); con.Open(); SqlCommand cmd = new SqlCommand("select * from Country where CountryName like @Name+'%'", con); cmd.Parameters.AddWithValue("@Name", prefixText); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); List<string> CountryNames = new List<string>(); for (int i = 0; i < dt.Rows.Count; i++) { CountryNames.Add(dt.Rows[i][1].ToString()); } return CountryNames; }
0 comments :
Post a Comment