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>
<%@ WebService Language="C#" CodeBehind="~/App_Code/AutoComplete.cs" Class="AutoComplete" %>
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;
}
}