AutoComplete实现关键字提示

<cc1:AutoCompleteExtender

        TargetControlID="txtKeyword"

        ServicePath="../MyWebService/MyWebService.asmx"

        ServiceMethod="GetHotSearchByKeyword"

        MinimumPrefixLength="1"

        EnableCaching="true"

        CompletionSetCount="10"

        ID="AutoCompleteExtender1" runat="server">

</cc1:AutoCompleteExtender>

主要属性:

TargetControlID:要实现自动完成功能的控件ID

ServicePathWeb 服务的路径

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 控件的方法和技巧

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值