AJAX ControlToolkit学习日志-AutoCompleteExtender(4)
AutoCompleteExtender控件是用于对TextBox进行提示填充的控件。就像Google Suggest。下面就来看个小例子。
示例:在文本框中输入字符,在文本框下随机出现一些可供选择的列表。
1) 新建一个ASP.NET AJAX-Enabled Web Project。命名为AutoCompleteExtender1。
![]()
2) 在Default.aspx页面的源中添加如下代码:
3) 在工程中添加名字为AutoComplete.asmx的Web服务,并添加如下代码:
4) 保存,按下CTRL+F5在浏览器里预览。效果如下:
示例:在文本框中输入字符,在文本框下随机出现一些可供选择的列表。
1) 新建一个ASP.NET AJAX-Enabled Web Project。命名为AutoCompleteExtender1。
2) 在Default.aspx页面的源中添加如下代码:
1
<div>
2
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" TargetControlID="TextBox1" CompletionSetCount="12"
3
ServicePath="AutoComplete.asmx" ServiceMethod="GetCompletionList" CompletionInterval="1000" EnableCaching="true" MinimumPrefixLength="2" runat="server">
4
</cc1:AutoCompleteExtender>
5
6
</div>
7
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<div>2
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" TargetControlID="TextBox1" CompletionSetCount="12" 3
ServicePath="AutoComplete.asmx" ServiceMethod="GetCompletionList" CompletionInterval="1000" EnableCaching="true" MinimumPrefixLength="2" runat="server">4
</cc1:AutoCompleteExtender>5
6
</div>7
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>3) 在工程中添加名字为AutoComplete.asmx的Web服务,并添加如下代码:
1
[System.Web.Script.Services.ScriptService()]
2
public class AutoComplete : System.Web.Services.WebService
3
{
4![]()
5
[WebMethod]
6
public string[] GetCompletionList(string prefixText,int count)
7
{
8
if (count == 0)
9
{
10
count = 10;
11
}
12![]()
13
if (prefixText.Equals("xyx"))
14
{
15
return new string[0];
16
}
17![]()
18
List<string> items=new List<string>(count);
19
Random random1=new Random();
20
for(int i=0;i<count;i++)
21
{
22
char c1 = (char)random1.Next(65, 97);
23
char c2 = (char)random1.Next(97, 122);
24
char c3 = (char)random1.Next(97, 122);
25
items.Add(prefixText + c1 + c2 + c3);
26
}
27
return items.ToArray();
28
}
29
}
[System.Web.Script.Services.ScriptService()]2
public class AutoComplete : System.Web.Services.WebService3
{4

5
[WebMethod]6
public string[] GetCompletionList(string prefixText,int count)7
{8
if (count == 0)9
{10
count = 10;11
}12

13
if (prefixText.Equals("xyx"))14
{15
return new string[0];16
}17

18
List<string> items=new List<string>(count);19
Random random1=new Random();20
for(int i=0;i<count;i++)21
{22
char c1 = (char)random1.Next(65, 97);23
char c2 = (char)random1.Next(97, 122);24
char c3 = (char)random1.Next(97, 122);25
items.Add(prefixText + c1 + c2 + c3);26
}27
return items.ToArray();28
}29
}4) 保存,按下CTRL+F5在浏览器里预览。效果如下:



浙公网安备 33010602011771号