`
lovnet
  • 浏览: 6878954 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

altas(ajax)控件(四):模糊匹配控件AutoComplete

阅读更多
AutoComplete控件是一个让TextBox拥有匹配功能的TextBox辅助控件。它可以在输入时给你一些提示,Google的搜索页面已经使用了类似功能。
它的效果图如下:
例子如下:
有一个名为“myTextBoxTextBox,有一个WebService名为“AutoComplete.asmx”,当客户在TextBox输入字符时,TextBox把字符发回服务器端,并返回匹配的字符组,把他们显示在TextBox供客户选择。
这样的设计在ajax中是一个典型的应用,那么我们来看看atlas给我们提供的解决方案。
Atlas中存在一个控件AutoCompleteExtender
在网页前端输入:
<asp:TextBox runat="server" ID="myTextBox" Width="300" autocomplete="off" />
<ajaxToolkit:AutoCompleteExtender
runat="server"
BehaviorID="AutoCompleteEx"
ID="autoComplete1"
TargetControlID="myTextBox"
ServicePath="AutoComplete.asmx"
ServiceMethod="GetCompletionList"
MinimumPrefixLength="4"
CompletionInterval="500"
EnableCaching="true"
CompletionSetCount="13"
CompletionListCssClass="autocomplete_completionListElement"
CompletionListItemCssClass="autocomplete_listItem"
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
DelimiterCharacters=";, :">
<Animations>
<OnShow>
<Sequence>
<%-- Make the completion list transparent and then show it --%>
<OpacityAction Opacity="100" />
<HideAction Visible="true" />
<%--Cache the original size of the completion list the first time
the animation is played and then set it to zero --%>
<ScriptAction Script="
// Cache the size and setup the initial size
var behavior = $find('AutoCompleteEx');
if (!behavior._height) {
var target = behavior.get_completionList();
behavior._height = target.offsetHeight - 2;
target.style.height = '0px';
}" />
<%-- Expand from 0px to the appropriate size while fading in --%>
<Parallel Duration=".4">
<FadeIn />
<Length PropertyKey="height" StartValue="0" EndValueScript="$find('AutoCompleteEx')._height" />
</Parallel>
</Sequence>
</OnShow>
<OnHide>
<%-- Collapse down to 0px and fade out --%>
<Parallel Duration=".4">
<FadeOut />
<Length PropertyKey="height" StartValueScript="$find('AutoCompleteEx')._height" EndValue="0" />
</Parallel>
</OnHide>
</Animations>
</ajaxToolkit:AutoCompleteExtender>
常用属性
属性名称
说明
BehaviorID
显示在TextBox下的下拉列表的ID
ID
当前控件的ID
TargetControlID
要匹配的TextBoxID
ServicePath
WebService相对路径
ServiceMethod
WebService中用来匹配的方法
MinimumPrefixLength
开始匹配的字符位数,从第几个字符开始匹配
CompletionInterval
下拉列表出现的延时
EnableCaching
是否使用缓存
CompletionSetCount
显示的下拉列表的列数
DelimiterCharacters
不需要匹配的字符集
再看中的匹配方法
WebService
///<summary>
///返回匹配字符组
///</summary>
///<param name="prefixText">用来匹配的字符</param>
///<param name="count">返回匹配字符组数</param>
///<returns></returns>
[WebMethod]
public string[] GetCompletionList(string prefixText, int count)
{
if (count == 0)
{
count = 10;
}
if (prefixText.Equals("xyz"))
{
return new string[0];
}
Random random = new Random();
List<string> items = new List<string>(count);
for (int i = 0; i < count; i++)
{
char c1 = (char) random.Next(65, 90);
char c2 = (char) random.Next(97, 122);
char c3 = (char) random.Next(97, 122);
items.Add(prefixText + c1 + c2 + c3);
}
return items.ToArray();
}
分享到:
评论

相关推荐

    ASP.NET AJAX Altas

    ### ASP.NET AJAX Altas:掌握局部更新网页设计的利器 #### 一、ASP.NET AJAX概览 ##### 1.1 AJAX非同步技术简介 - **定义**:AJAX(Asynchronous JavaScript and XML)是一种用于创建更快响应的Web应用程序的技术...

    Altas-Notas:我基于Firebase服务的Spotify版本

    :musical_note: Altas-Notas 我基于Firebase服务的Spotify版本 :joystick: 安装及使用方法从Zip导出项目并导入完整文件夹 :laptop: 进步▰▱▱▱▱▱▱▱▱▱10% :camera: 屏幕截图目前没有照片

    Altas 学习指南

    2. **核心组件介绍**:介绍Altas中的主要组件,如Ajax控件、数据绑定和异步处理机制。 3. **实例教程**:通过实践项目展示如何使用Altas创建一个完整的应用程序。 4. **性能优化**:讨论如何利用Altas的特性进行性能...

    Altas学习指南

    根据给定的文件信息,以下是从...通过以上知识点的梳理,我们可以看到ATLAS框架不仅提供了丰富的控件和工具来简化AJAX应用的开发,还涵盖了数据处理、控件定制、调试技巧等多个方面,为开发者提供了全面的技术支持。

    altas非常有用的资源

    Altas是微软在ASP.NET框架下推出的一种增强Ajax功能的库,它旨在提供更高效、更灵活的Web应用程序开发体验。Ajax(Asynchronous JavaScript and XML)技术的核心在于局部刷新页面,提升用户体验,而Altas则是对这一...

    Atlas基础教程——ASP.NET Ajax快速开发 code

    1. **Ajax技术**:Ajax(Asynchronous JavaScript and XML)是一种创建交互式网页应用的技术,通过在后台与服务器异步交换少量数据,使网页实现局部刷新,提高了用户体验。 2. **ASP.NET框架**:ASP.NET是微软提供...

    unity3d ngui 日历控件

    为了使NGUI的日历控件能在UGUI环境中工作,开发者可能需要将代码适配到UGUI的事件系统和UI元素结构中,或者寻找已经适配过的替代控件。 在提供的文件列表中,`Calendar.cs`是日历控件的C#脚本,它包含了控制日历...

    Altas网上聊天系统

    本文介绍了Ajax的基本工作原理,并实现了网上聊天系统的基本功能

    altas-examples:Hashicorp Atlas 教程示例代码

    在这个“altas-examples”压缩包中,我们看到的是使用Ruby语言编写的示例代码,这些代码旨在帮助用户理解如何在实际项目中应用和配置Atlas。 1. **Ruby编程基础**:Ruby是一种面向对象的、动态类型的编程语言,以其...

    Spine中Altas资源分割

    总的来说,"Spine中Altas资源分割"是一个关键的优化步骤,特别是对于那些需要高效渲染和动态效果的游戏。通过改良的Python工具,开发者可以更好地管理Spine资源,确保旋转精灵的正确显示,这对于Cocos2dx或其他支持...

    Ajax与Atlas开发系列课程

    第四和第五课,"网页中的AJAX应用(一)和(二)",集中讲解了在实际网页项目中如何运用Ajax,可能包括动态加载内容、表单提交、实时数据更新等案例分析。 第六和第七课,"服务器端的AJAX应用(一)和(二)",深入...

    altas网上聊天系统

    altas网上聊天系统--本文介绍了ajax的基本工作原理,并实现了网上聊天系统的功能!

    AjaxControlToolkit

    **四、主要控件** - **AutoCompleteExtender**:提供自动补全功能,常见于搜索框,根据用户输入的内容动态提供建议。 - **CalendarExtender**:为文本框添加日历选择功能,简化日期输入。 - **ConfirmButtonExtender...

    Ajax三级联动和无刷新分页源码

    自己写的第2个 ajax例子 3联动+无刷新分页(no altas) 无刷新分页 有点bug 只需要把 js/xmlhttp.js 里面的 的标签 里的属性 +一个 单引号 就行了 App_data下的my51aspx.mdf为Sql数据库文件,附加即可 数据库操作...

    拆分plist altas的脚本工具

    在IT行业中,尤其是在游戏开发和移动应用开发领域,`plist`和`atlas`文件是常见的资源打包方式。`plist`文件通常用于存储iOS应用程序的数据,如设置、配置或者资源引用,而`atlas`(也称为纹理集或精灵表)则是一种...

    Silvaco Atlas User's Manual Silvaco Altas用户手册(英文版)

    知识点四:Analog Alliance Analog Alliance 是 Silvaco 公司的一种模拟电路设计平台,提供了从电路设计到制造的完整解决方案。该平台集成了多种模拟电路设计工具和技术,能够满足不同用户的设计需求。 知识点五:...

Global site tag (gtag.js) - Google Analytics