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

时间:2021-11-17 10:05:46
代码如下:

<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;