<cc1:AutoCompleteExtender
TargetControlID="txtKeyword"
ServicePath="../MyWebService/MyWebService.asmx"
ServiceMethod="GetHotSearchByKeyword"
MinimumPrefixLength="1"
EnableCaching="true"
CompletionSetCount="10"
ID="AutoCompleteExtender1" runat="server">
</cc1:AutoCompleteExtender>
主要属性:
TargetControlID:要实现自动完成功能的控件ID
ServicePath:Web 服务的路径
ServiceMethod:要使用的 Web 服务的方法
MinimumPrefixLength:用户输入多少个字母才出现提示效果
EnableCaching:是否启用缓存
CompletionSetCount:提示数据的行数
关键代码: //创建一个Web Service文件, [WebMethod] public string[] GetHotSearchByKeywords(string prefixText, int count) { //根据关键字和显示行数,返回查询的结果 return SearchKeywordManager.GetHotSearchKeywords(prefixText,count); } // GetHotSearchKeywords是业务处理层SearchKeywordsManager类中的一个方法 public static string[] GetHotSearchKeywords(string keyWord, int displaycount) { return SearchKeywordService.GetHotSearchKeywords(keyWord, displaycount); } // SearchKeywordService是数据访问层中的类,包含GetHotSearchKeywords方法 public static string[] GetHotSearchKeywords(string keyword, int displaycount) { IList<SearchKeyword> keywords = new List<SearchKeyword>(); List<string> results = new List<string>(displaycount); string sqlHot = "select top 10 * from SearchKeywords where keyword like '"+keyword+"%' order by SearchCount desc"; keywords = GetSearchKeywordsBySql(sqlHot); foreach (SearchKeyword item in keywords) { results.Add(item.Keyword); } return results.ToArray(); } //在common.master页中拖入一个ScriptManager和一个AutoCompleteExtender控件 <cc1:AutoCompleteExtender TargetControlID="search" ServicePath="MyWebService/HotSearchKeyWords.asmx" ServiceMethod="GetHotSearchByKeywords" MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="10" ID="AutoCompleteExtender1" runat="server"> </cc1:AutoCompleteExtender>
AutoComplete 控件的方法和技巧