一直期待ATLAS能够提供AutoComplete的扩展特性,终于不负众望,在最新版的ASP.NET AJAX Control Toolkit 已经包含了这个特性:AutoCompleteExtender。使用起来是很简单的。
以下举个股票代码查询的例子,输入部分代码、拼音缩写或者汉字,便能得到全部的提示。
1 添加一个TextBox
<asp:TextBox runat="server" ID="txtStockKeyName" Width="300" autocomplete="off" />
2 添加AutoCompleteExtender,并设置参数
<cc1:AutoCompleteExtender
runat="server"
ID="autoComplete1"
TargetControlID="txtStockKeyName"
ServicePath="StockCode.asmx"
ServiceMethod="GetStockList"
MinimumPrefixLength="1"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="12"
/>
参数说明:
TargetControlID : 输入查询关键字的文本框
ServicePath : 对应后台的Webservice的地址
ServiceMethod : 对应后台的Webservice的方法名
MinimumPrefixLength :查询关键字长度产生自动完成的最短长度
CompletionInterval :查询结果显示间隔时间(毫秒)
EnableCaching : 启用Cache
CompletionSetCount :显示查询结果的条数
3 根据查询关键字返回查询结果的Webservice方法
效果图:
示例代码:
/Files/heekui/StockID.rar
运行环境:
VS2005 + ASP.NET AJAX V 1.0 + ASP.NET AJAX Control Toolkit