前台界面:
代码
<asp:textbox id="TextBox1" runat="server"></asp:textbox>
<ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender3" runat="server" Enabled="true"
TargetControlID="TextBox1"
ServicePath="/LsComplete.asmx"
ServiceMethod="GetCompleteDepart"
CompletionInterval="500"
CompletionSetCount="10"
MinimumPrefixLength="1">
</ajaxToolkit:AutoCompleteExtender>
后台代码:
新建一个web服务:
代码
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
/// <summary>
/// LsComplete 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class LsComplete : System.Web.Services.WebService {
public LsComplete () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
private static string[] autoCompleteWordList = null;
public String[] GetCompleteDepart(string prefixText, int count)
{
// 如果数组为空
if (autoCompleteWordList == null)
{
//读取数据库的内容
string ConnectionString = ConfigurationSettings.AppSettings["SQLConnectionString"];
SqlConnection myconn = new SqlConnection(ConnectionString);
myconn.Open();
// SqlDataAdapter da = new SqlDataAdapter("select departname from departinfo where departname like'" + prefixText + "%' order by departname", conn);
string mySel = "select title from [表名] where Rtrim(字段) like'%" + prefixText + "%' ";
SqlDataAdapter Adpt = new SqlDataAdapter(mySel, myconn);
DataSet ds = new DataSet();
Adpt.Fill(ds);
//读取内容文件的数据到临时数组
string[] temp = new string[ds.Tables[0].Rows.Count];
int i = 0;
foreach (DataRow dr in ds.Tables[0].Rows)
{
temp[i] = dr["字段"].ToString().Trim();
i++;
}
//将临时数组的内容赋给返回数组
autoCompleteWordList = temp;
if (myconn.State == ConnectionState.Open)
myconn.Close();
}
String[] returnValue = new string[count];
returnValue = autoCompleteWordList;
autoCompleteWordList = null;
//返回数据
return returnValue;
}
}