asp.net Ajax ---AutoComplete控件使用

简介:
    AutoComplete控件就是在用户在文本框输入前几个字母或是汉字的时候,该控件就能从存放数据的文或是数据库里将所有以这些字母开头的数据提示给用户,供用户选择,提供方便.

重要属性:
    1、TargetControlID:指定要实现提示功能的控件。
    2、ServicePath:WebService的路径,提取数据的方法是写在一个WebService中的。
    3、ServeiceMethod:写在WebService中的用于提取数据的方法的名字。
    4、MinimumPrefixLength:用来设置用户输入多少字母才出现提示效果。
    5、CompletionSetCount:设置提示数据的行数。
    6、CompletionInterval:从服务器获取书的时间间隔,单位是毫秒。
示例
打开vs2005创建一个AjaxControlToolKit网站。
在网站的App_Data文件夹下添加文本文件TextFile.txt,并在其中添加数据,如下

1 oec2003

2 oec2004

3 oec2005

4 oec2006

5 oec
2007

  在网站的根目录下添加一个Web服务,命名为oec2003_AutoComplete,系统自动将Web服务两个部分,设计部分oec2003_AutoComplete.asmx和代码部分oec2003_AutoComplete.cs,其中oec2003_AutoComplete.cs文件自动放入到App_Code目录下。打开oec2003_AutoComplete.cs文件,添加获取数据的方法GetCompleteList,代码如下:

1using System;

 2using System.Web;

 3using System.
Collections;

 4using System.Web.Services;

 5using System.Web.Services.Protocols;

 6using System.IO;

 7

 8

 9/**//// <summary>

10/// AutoComplete 的摘要说明

11/// </summary>

12[WebService(Namespace = "http://tempuri.org/")]

13[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

14[System.Web.Script.Services.ScriptService]

15public class AutoComplete : System.Web.Services.WebService {

16

17    public AutoComplete () {

18

19        //如果使用设计的组件,请取消注释以下行 

20        //InitializeComponent(); 

21    }

22

23    [WebMethod]

24    public string HelloWorld() {

25        return "Hello World";

26    }

27    /**//// <summary>

28    /// 获取数据的方法GetCompleteList

29    /// </summary>

30    //定义静态数组用于保存获取的数据

31    private static string[] autoCompleteWordList = null;

32    [WebMethod]

33    public String[] GetCompleteList(string prefixText, int count)

34    {

35        if (autoCompleteWordList == null)

36        {

37            string[] temp = File.ReadAllLines(Server.MapPath("~/App_Data/TextFile.txt"));

38            Array.Sort(temp, new CaseInsensitiveComparer());

39            autoCompleteWordList = temp;

40        }

41

42        int index = Array.BinarySearch(autoCompleteWordList, prefixText, new CaseInsensitiveComparer());

43        if (index < 0)

44        {

45            index = ~index;

46        }

47

48        int matchingCount;

49        for (matchingCount = 0; matchingCount < count && index + matchingCount < autoCompleteWordList.Length; matchingCount++)

50        {

51            if (!autoCompleteWordList[index + matchingCount].StartsWith(prefixText, StringComparison.
CurrentCultureIgnoreCase))

52            {

53                break;

54            }

55        }

56        String[] returnValue = new string[matchingCount];

57        if (matchingCount > 0)

58        {

5

时间: 2024-09-20 01:15:18

asp.net Ajax ---AutoComplete控件使用的相关文章

一起谈.NET技术,asp.net Ajax ---AutoComplete控件使用

 简介:     AutoComplete控件就是在用户在文本框输入前几个字母或是汉字的时候,该控件就能从存放数据的文或是数据库里将所有以这些字母开头的数据提示给用户,供用户选择,提供方便.  重要属性:     1.TargetControlID:指定要实现提示功能的控件.     2.ServicePath:WebService的路径,提取数据的方法是写在一个WebService中的.     3.ServeiceMethod:写在WebService中的用于提取数据的方法的名字.    

ASP.NET AJAX UpdateProgress控件介绍

先决条件 若要在您自己的开发环境中实现这些过程,您需要: Microsoft Visual Studio 2005 或 Visual Web Developer 速成版. 一个支持 AJAX 的 ASP.NET 网站. 使用单个 UpdateProgress 控件 首先使用单个 UpdateProgress 控件显示页面上的所有部分页更新的进度. 对整个页使用单个 UpdateProgress 控件 创建新页并切换到"设计"视图. 在工具箱的"AJAX Extensions&

ASP.NET AJAX UpdatePanel控件简介

先决条件 若要在您自己的开发环境中实现这些过程,您需要: Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 速成 版. 一个支持 AJAX 的 ASP.NET 网站. 使用 UpdatePanel 控件 创建新页并切换到"设计"视图. 在工具箱的"AJAX Extensions"选项卡中,双击 ScriptManager 控件以将 其添加到页面中. 双击 UpdatePanel 控件以将其添加

自定义ASP.NET Ajax Extender控件

问题描述 前言:熟悉ASP.NETAjax的人都对AjaxControlToolkit里的Extender控件留有非常深的印象.有了Extender控件就可以在原有页面上指定某个服务器控件实施Ajax行为(Behavior).如:常用的CalendarExtender控件.下面内容介绍怎样自定义一个AjaxExtender控件实现Panel服务器控件的高亮边框效果.如图所示.正文:创建一个Extender控件需要完成两个部分的工作.第一,创建客户端的行为(Behavior)控件:第二,创建服务器

ASP.NET AJAX UpdatePanel 控件实现剖析

使用ASP.NET AJAX框架我们可以搭建快速响应.具有丰富的用户体验的AJAX Web应用程序,而该框架的UpdatePanel控件则提供了一种非常简单的方式来实现Web页面的局部更新,我们不需要在每次回发的时候都加载整个页面.   那这个控件是如何实现这种局部刷新的哪,透过其实现机制我们可以更清楚其优缺点,便于我们确定其使用场合.本文将重点阐述ASP.NET AJAX控件UpdatePanel的实现机制.   1. ASP.NET AJAX 简介 ASP.NET AJAX是微软在ASP.N

ASP.NET AJAX UpdateProgress控件概述

方案 当网页包含一个或多个用于部分页呈现的 UpdatePanel 控件时,UpdateProgress 控件可帮助您设计更为直观的 UI.如果部分页更新速度较慢,则可以使用 UpdateProgress 控件来提供有关更新状态的可视反馈.可以在页上放置多个 UpdateProgress 控件,其中每个控件都与不同的 UpdatePanel 控件相关联.也可以使用一个 UpdateProgress 控件,并将其与页上的所有 UpdatePanel 控件关联. 背景 UpdateProgress

ASP.NET AJAX Timer控件概述

Timer 控件方案 当您要执行以下操作时,请使用 Timer 控件: 定期更新一个或多个 UpdatePanel 控件的内容,而无需刷新整个网页. 每当 Timer 控件导致回发时运行服务器上的代码. 按定义的时间间隔将整个网页同步发布到 Web 服务器上. 背景 Timer 控件是一个服务器控件,它会将一个 JavaScript 组件嵌入到网页中 .当经过 Interval 属性中定义的时间间隔时,该 JavaScript 组件将从浏览器 启动回发.您可以在运行于服务器上的代码中设置 Tim

ASP.NET Ajax中AutoComplete控件的使用

简介 AutoComplete控件就是在用户在文本框输入前几个字母或是汉字的时候,该控件就能从存放数据的文 或是数据库里将所有以这些字母开头的数据提示给用户,供用户选择,提供方便. 重要属性 1.TargetControlID:指定要实现提示功能的控件: 2.ServicePath:WebService的路径,提取数据的方法是写在一个WebService中的: 3.ServeiceMethod:写在WebService中的用于提取数据的方法的名字: 4.MinimumPrefixLength:用

使用ASP.NET Atlas ListView控件显示列表数据

asp.net|控件|数据|显示 English Version: http://dflying.dflying.net/1/archive/113_display_listible_data_using_aspnet_atlas_listview_control.html 在这个系列中,我将介绍一些Atlas Sys.UI.Data中较高级的控件,包括: Sys.UI.Data.ListView:使用ASP.NET Atlas ListView控件显示列表数据 Sys.UI.Data.Item