html:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %><!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></title></head><body><form id="form1" runat="server"><div><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><div><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1"MinimumPrefixLength="1" ServiceMethod="GetProductName" ServicePath="WebService.asmx"></cc1:AutoCompleteExtender></div></div></form></body></html>
WebService.cs:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;using System.Data.SqlClient;using System.Data;using System.Web.Script.Services;//關鍵程式集引用/// <summary>///WebService 的摘要說明/// </summary>[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]//若要允許使用 ASP.NET AJAX 從指令碼中調用此 Web 服務,請取消對下行的注釋。[System.Web.Script.Services.ScriptService]public class WebService : System.Web.Services.WebService {public WebService () {//如果使用設計的組件,請取消注釋以下行//InitializeComponent();}[WebMethod][ScriptMethod]public string[] GetProductName(string prefixText, int count){List<string> suggestions = new List<string>();//聲明一泛型集合SqlConnection con = new SqlConnection("server=JUQI;database=NorthWind;uid=sa;pwd=sa;");con.Open();SqlCommand com = new SqlCommand("select distinct productname from Products where productname like @prefixname order by productname", con);com.Parameters.Add("@prefixname", SqlDbType.NVarChar).Value = prefixText + "%";SqlDataReader sdr = com.ExecuteReader();while (sdr.Read()){suggestions.Add(sdr.GetString(0));}sdr.Close();con.Close();return suggestions.ToArray();}}