asp.net AutoCompleteExtender的一个简单例子代码

复制代码 代码如下:

  <asp:TextBox ID="txtTempScenic" runat="server"></asp:TextBox>

  <ajax:AutoCompleteExtender ID="txtTempScenic_AutoCompleteExtender" runat="server" BehaviorID="AutoCompleteEx" DelimiterCharacters="" Enabled="True" ServicePath="~/WebService/AutoComplete.asmx" ServiceMethod="GetScenic" TargetControlID="txtTempScenic" CompletionInterval="500" CompletionSetCount="20" EnableCaching="true" MinimumPrefixLength="1"></ajax:AutoCompleteExtender>

  AutoComplete.asmx

  

复制代码 代码如下:

  <%@ WebService Language="C#" CodeBehind="~/App_Code/AutoComplete.cs" Class="AutoComplete" %>

  AutoComplete.cs

  

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.Services;

  using System.Data;

  /// <summary>

  ///add by ahuinan

  /// </summary>

  [WebService(Namespace = "http://tempuri.org/")]

  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

  //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

  [System.Web.Script.Services.ScriptService]

  public class AutoComplete : System.Web.Services.WebService

  {

  public AutoComplete()

  {

  //如果使用设计的组件,请取消注释以下行

  //InitializeComponent();

  }

  [WebMethod]

  public string HelloWorld()

  {

  return "Hello World";

  }

  //获得景区

  [WebMethod]

  public string[] GetScenic(string prefixText,int count)

  {

  ET_ERP.BLL.ERP_ScenicArea b_ScenicArea = new ET_ERP.BLL.ERP_ScenicArea();

  string strWhere = " SA_Name like '" + prefixText + "%' AND SA_IsDel = 0";

  DataSet ds = b_ScenicArea.Select(" top "+count+" SA_Name", strWhere);

  count = ds.Tables[0].Rows.Count;

  string[] array = new string[count];

  for (int i = 0; i < count; i++)

  {

  array[i] = ds.Tables[0].Rows[i]["SA_Name"].ToString();

  }

  return array;

  }

  }