Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1048473
  • 博文数量: 254
  • 博客积分: 10185
  • 博客等级: 上将
  • 技术积分: 2722
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-25 15:04
文章存档

2011年(8)

2009年(1)

2008年(31)

2007年(214)

分类: 系统运维

2007-08-24 22:44:06

     AutoCompleteExtender控件是用于对TextBox进行提示填充的控件。就像Google Suggest。下面就来看个小例子。

示例:在文本框中输入字符,在文本框下随机出现一些可供选择的列表。

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>

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(6597);
23                char c2 = (char)random1.Next(97122);
24                char c3 = (char)random1.Next(97122);
25                items.Add(prefixText + c1 + c2 + c3);
26            }

27            return items.ToArray();
28        }

29    }

4)   保存,按下CTRL+F5在浏览器里预览。效果如下:

 
阅读(2033) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~