一起谈.NET技术,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,并在其中添加数据,如下
2 oec2004
3 oec2005
4 oec2006
5 oec2007
在网站的根目录下添加一个Web服务,命名为oec2003_AutoComplete,系统自动将Web服务两个部分,设计部分oec2003_AutoComplete.asmx和代码部分oec2003_AutoComplete.cs,其中oec2003_AutoComplete.cs文件自动放入到App_Code目录下。打开oec2003_AutoComplete.cs文件,添加获取数据的方法GetCompleteList,代码如下:
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 {
59 Array.Copy(autoCompleteWordList, index, returnValue, 0, matchingCount);
60 }
61 return returnValue;
62 }
63
64}
由于在上面的代码中使用了File类,所以应该添加如下代码:
因为需要在客户端调用Web服务,还需要添加如下代码
保存Web 服务的代码
打开根目录下默认生成的Default.aspx
在页面中拖拽一个TextBox控件和一个AutoCompleteExtender控件。
在属性窗口设置AutoCompleteExtender控件的属性,如下
ID="AutoCompleteExtender1"
runat="server"
ServiceMethod="GetCompleteList"
ServicePath="oec2003_AutoComplete.asmx"
Enabled="true"
MinimumPrefixLength="2"
CompletionSetCount="10"
TargetControlID="TextBox1">
</ajaxToolkit:AutoCompleteExtender>
在Web服务中的count参数的值是取CompletionSetCount属性的值。
保存设计的页面,将默认页面设置为起始页,按F5运行后在文本框中输入oe,就能看到想要的结果。
代码下载
一起谈.NET技术,asp.net Ajax ---AutoComplete控件使用相关推荐
- Asp.net Ajax AutoComplete 控件的用法
AutoComplete控件是微软提供的ASP.NET AJAX Control Toolkit 中的一个控件,是用来实现类似百度搜索的自动完成效果. AutoComplete控件的用法很简单,只要在 ...
- 开始使用asp.net ajax的控件工具包AJAX Control Toolkit
我们来为我们的 toolbox 添加一些资源 , 这个要通过下载安装 asp.net ajax 工具包完成.登录 www.asp.net 点击 AJAX 按钮,然后找到 ASP.NET AJAX Co ...
- ASP.NET AJAX - Timer控件之摆放位置的影响
ASP.NET AJAX所提供的 Timer 控件是一个服务器控件,它能够定时引发全网页回传,当然,在搭配了 UpdatePanel 控件之后,就可以定时引发异步回传并局部更新 UpdatePanel ...
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(1)读者序】★★★...
本书主要内容 大部分开发人员在学习Asp.net的过程中都有这样的体会,使用Asp.net开发很多年,但仍然感觉对Asp.net技术的了解比较少,对知识点的了解比较模糊:以及,在工作过程中经常接到克刻 ...
- 英文版资料[庖丁解牛—纵向切入Asp.net 3.5控件和组件开发技术]
英文版资料[庖丁解牛-纵向切入Asp.net 3.5控件和组件开发技术] . Carving Up an Ox * Book Name <Carving Up an Ox: In-depth A ...
- 构建安全的 ASP.NET 网页和控件
本页内容 本模块内容 目标 适用范围 如何使用本模块 威胁和对策 设计注意事项 输入验证 跨站点脚本 身份验证 授权 模拟 敏感数据 会话管理 参数处理 异常管理 审核和日志记录 小结 其他资源 本模 ...
- jqueryui autocomplete 控件自定义source检索
有时侯我们在做自动完成时为了从多字段去检索,往往会发起个ajax请求让服务端去实现.对于这种数据集固定不变的数据源这种做法显然给服务器增加了不少请求. 实际上jqueryui autocomplete ...
- asp.net的常用控件
ASP.NET常用第三方控件列表 ASP.NET 漂亮的免费甘特图控件 基于flash与javascript的客户端文件上传组件 在线Word/excel/wps编辑辅助控件 一个三维动态滑块效果的功 ...
- JQuery--使用autocomplete控件进行自己主动输入完毕(相当于模糊查询)
之前为了实现这个功能花了我几天的时间. 事实上.实现了之后发现也就那么回事,正所谓万事开头难嘛.. 废话不多说了.这里我使用的是JQuery控件库中的一个Autocomplete控件.即Autocom ...
最新文章
- Android 实现歌曲播放时歌词同步显示
- 三种场景不建议放在关系型数据库中
- 联想拯救者电竞手机新特性确认:有望搭载双X轴线性马达
- Python--多线程学习(11.3)
- Leetcode每日一题:面试题 08.02. 迷路的机器人
- python语言适合哪些领域的计算问题数据处理和文本挖掘_R和Python中文本挖掘8大入门指南...
- 深入浅出JS的对象属性
- Python Matplotlib
- android 模拟器测试之旅
- Python语言翻译包translate,支持翻译多语种
- 自给自足实现web网络文字游戏【追梦西游】(一)
- JS实现tic tac toe
- Adobe Photoshop简介
- Consider defining a bean of type的问题
- PyTorch 1.0 中文官方教程:空间变换器网络教程
- 论文阅读 AutoGluon-Tabular
- vue cli 3中使用bootstra组件
- 计算机毕设Python+Vue悠哈出租车管理系统(程序+LW+部署)
- 一文讲清-NFT市场新秀SudoSwap的AMM机制-创新挑战与局限
- 四大法宝祝你面试成功