AutoComplete
AutoComplete 是一个可以附属到任何一个 TextBox 控件上的 ASP.NET AJAX 扩展控件,它可以帮助页面用户的文本框输入, 显示提示信息,该信息可以根据用户的输入进行设置。
提示输入信息将根据与 AutoComplete 配合的 Web Service 来提供,并显示于 TextBox 的左下方。
在上面的例子中,和 AutoComplete 所配合的 TextBox 将提示以 TextBox 中的内容为开头的输入,有点类似模拟数据库中的 Like 检索结果。 当你在 TextBox 的输入超过指定的最小长度时,提示框将显示以其输入为开头的词组和短语。在这个例子我们还采用了缓存机制, 即同一个前缀被输入多次的时候,Web Service只会被调用一次。
AutoComplete 控件属性将被初始化如下面的示例代码所示,斜体属性为可选属性
<ajaxToolkit:AutoCompleteExtender
runat="server"
ID="autoComplete1"
TargetControlID="myTextBox"
ServiceMethod="GetCompletionList"
ServicePath="AutoComplete.asmx"
MinimumPrefixLength="2"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="20"
CompletionListCssClass=
"autocomplete_completionListElement"
CompletionListItemCssClass=
"autocomplete_listItem"
CompletionListHighlightedItemCssClass=
"autocomplete_highlightedListItem"
DelimiterCharacters=";, :">
<Animations>
<OnShow> ... </OnShow>
<OnHide> ... </OnHide>
</Animations>
</ajaxToolkit:AutoCompleteExtender>
TargetControlID - 需要增加自动提示的TextBox 控件 ID
ServiceMethod - 提供提示信息的 Web Service 方法名,请注意,该方法的签名需要满足如下方法签名:
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetCompletionList(string prefixText,
int count) { ... }
注意: 你可以根据你的需要任意替换方法名“GetCompletionList”,但是返回值和参数必须保持一致
ServicePath - Web Service 的路径,如果你没有指定该路径,那么 ServiceMethod 属性必须是当前页面的一个被申明成 Web Service Method 的页面方法。
ContextKey - User/Page 提供的 Web Service 重载方法(可选),如果该属性被指定,那么在参数表中需要指定相应的以 contextKey 命名的字符串参数。
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetCompletionList(
string prefixText, int count,
string contextKey) { ... }
注意: 你可以根据你的需要任意替换方法名“GetCompletionList”,但是返回值和参数必须保持一致
UseContextKey - 如果 ContextKey 被设置,那么该属性将被自动设置。请注意上面的增加参数约定
MinimumPrefixLength - TextBox 中最少的字符个数以满足触发调用 Web Service 获得提示的条件
CompletionInterval - 以微秒表示的调用 Web Service 获得提示信息的间隔时间
EnableCaching - 标志是否使用客户端缓存
CompletionSetCount - 从 Web Serivce 获得的提示数据的个数
CompletionListCssClass - 提示信息框的 Css 样式
CompletionListItemCssClass - 提示信息框中的每个数据项的 Css 样式
CompletionListHighlightedItemCssClass - 提示信息中当某一个数据项被选中的时候所呈现的 Css 样式
DelimiterCharacters - 可以指定若干个字符来切分输入框中的字符,作为不同的数据提示检索条件
FirstRowSelected - 标志提示信息框中是否默认第一条数据项被选中
Animations - AutoComplete 显示动画。
OnShow - 当显示提示信息的时候出现的动画。动画可以应用 <HideAction Visible="true" />来控制显示提示框的其可视化信息。
OnHide - 当提示信息框被关闭时出现的动画