初次使用AutoCompleteExtender控件,装上Ajax Extension后,还需要一个AjaxControlToolkit.dll的文件,在工具箱中右击选择"选择项",在弹出的对话框中选择浏览按钮,定位到AjaxControlToolkit.dll文件,选择确定,该dll中的控件会被添加到工具箱中。
前台代码:
<%
@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1"
%>
< asp:ScriptManager ID ="ScriptManager1" runat ="server" >
</ asp:ScriptManager >
< cc1:AutoCompleteExtender ID ="AutoCompleteExtender1" runat ="server" TargetControlID ="txtSearch" ServiceMethod ="GetStrings" ServicePath ="Wiki.asmx" MinimumPrefixLength ="1" >
</ cc1:AutoCompleteExtender >
< asp:Button ID ="btnSearch" runat ="server" Text ="搜索" OnClick ="btnSearch_Click" />
< asp:ScriptManager ID ="ScriptManager1" runat ="server" >
</ asp:ScriptManager >
< cc1:AutoCompleteExtender ID ="AutoCompleteExtender1" runat ="server" TargetControlID ="txtSearch" ServiceMethod ="GetStrings" ServicePath ="Wiki.asmx" MinimumPrefixLength ="1" >
</ cc1:AutoCompleteExtender >
< asp:Button ID ="btnSearch" runat ="server" Text ="搜索" OnClick ="btnSearch_Click" />
后台代码:
后台代码应该在WebService中实现,方法签名有比较严格的要求,返回类型必须是String[]类型,传入参数必须是 string prefixText, int count;并且在WebService的类名前,需要添加属性:[System.Web.Script.Services.ScriptService],此属性存在于System.Web.Extension中。
//随便写了一点代码,看看功能
[WebMethod]
public string [] GetStrings( string prefixText, int count)
{
string[] temp = {"a","aa","aaa"};
return temp;
}
public string [] GetStrings( string prefixText, int count)
{
string[] temp = {"a","aa","aaa"};
return temp;
}