AutoCompleteExtender只是ASP.NET AJAX控件工具包众多控件中的一个。表32-7列出了当前可用的控件扩展器,而表32-8列出了所有控件。
表32-7 ASP.NET AJAX控件工具包中的控件扩展器
名 称 |
描 述 |
AlwaysVisibleControlExtender |
这个扩展器能够把控件固定在某一特定位置(如网页的左上角),即使用户滚动页面也是如此 |
AnimationExtender |
这个强大而灵活的扩展器可以给大小调整、移动、淡出、颜色变化等单独或组合添加动画 |
AutoCompleteExtender |
客户端扩展器可以根据用户的部分输入提供建议列表。在前一节介绍过,列表内容完全由一个Web服务方法生成 |
CalendarExtender |
这个扩展器显示一个弹出的日历,它可以被附加到一个文本框上,方便输入日期。用户选定某个日期后,该日期被插入到关联的控件 |
CascadingDropDownExtender |
通过这个扩展器可以不必手工编码(本章第一个示例所示)就把下拉列表相互关联 |
CollapsiblePanelExtender |
这个扩展器可以展开和收叠页面上的Panel。页面的其余部分自动沿它们重新排列 |
ConfirmButtonExtender |
这个扩展器截断Button、LinkButton或ImageButton控件的单击事件显示一个确认消息。如果用户在确认对话框里选择取消操作,那么单击事件被取消 |
DragPanelExtender |
这个扩展器使Panel能够在页面上拖动 |
DropShadowExtender |
这个扩展器为Panel添加阴影效果。阴影可以是部分透明的,并且可以控制边界的大小和弧度 |
DynamicPopulateExtender |
这个简单的扩展器用Web服务方法调用的结果替代某个控件的内容 |
FilteredTextBoxExtender |
这个扩展器让你能够限制某些字符(如只包含数值数据的文本框里的字母)输入到文本框。这意味着提供一个验证,而不是代替,而恶意用户可以篡改呈现的页面或在浏览器里禁用JavaScript躲过对字符的过滤 |
HoverMenuExtender |
这个扩展器能够在用户鼠标滑过控件时显示弹出内容 |
ListSearchExtender |
这个扩展器可以让用户输入项目的部分文本搜索ListBox或DropDownList里面的内容。控件搜索项目并跳到匹配用户输入的第一个项目 |
MaskedEditExtender |
这个扩展器使用掩码限制用户能够输入文本框的内容。(掩码是一个定义固定长度文本模型的字符串,它提供提示字符帮助用户输入值。例如,电话掩码可能在文本框里显示(___)___-___。随着用户的输入,占位符被合法的数字字符取代,而非法的非数字字符则被拒绝。)你可以结合MaskedEditValidator使用MaskedEditExtender,确保不能够篡改JavaScript代码输入非法的值) |
ModalPopupExtender |
这个扩展器能够让你创建模式对话框的效果,它把页面变暗、禁用控件并在最前面显示一个Panel |
MutuallyExclusiveCheckBoxExt-ender |
这个扩展器允许给多个CheckBox控件关联一个“键值”。当用户单击某个按这种方式扩展的复选框时,其他具有相同“键值”的复选框自动取消选中 |
NumericUpDownExtender |
这个扩展器给文本框附加一个可配置的上下箭头按钮(在右边)。这些按钮增大或减小文本框的数值或日期值 |
PagingBulletedListExtender |
这个扩展器附加一个BulletedList并让它能够支持客户端的分页,这样一个很长的列表可以分解为多个较小的区段 |
PasswordStrengthExtender |
这个扩展器附加到文本框上。随着用户的输入,它评估文本框值的密钥强度(评估值越高,密码越难被破解)。它一般被用作密码创建框的指导 |
PopupControlExtender |
这个扩展器提供可显示在任意控件旁边的弹出内容 |
ResizableControlExtender |
这个扩展器允许用户通过控件右下角可配置的手柄调整控件的大小 |
RoundedCornersExtender |
这个扩展器围绕任意控件显示一个整洁、专业的外观 |
SliderExtender |
这个扩展器把文本框转换为一个图形滑块,允许用户通过拖动轨道上的指针选择一个数字值 |
(续)
名 称 |
描 述 |
SlideShowExtender |
这个扩展器附加到一个Image元素上,并让它显示一组图片。图片通过一个Web服务方法提供,幻灯片可以一直循环显示,或者也可以通过你创建的播放、暂停、前进、后退按钮控制 |
TextBoxWatermark |
这个扩展器能够在文本框为空时自动修改背景色并提供特定文字。例如,文本框可能包含写在淡蓝背景上的浅灰的文字Enter value。光标进入文本框或文本框输入内容后这些文字就会消失 |
ToggleButtonExtender |
这个扩展器把普通的ASP.NET CheckBox变成图片复选框 |
UpdatePanelAnimationExtender |
这个扩展器可以使用与AnimationExtender相同的动画。不过,它设计为配合UpdatePanel使用,并在更新进行时或Panel被刷新时自动执行这些动画 |
ValidatorCalloutExtender |
这个扩展器扩展ASP.NET验证控件的客户端逻辑,这样它们使用弹出验证提示指向含有非法输入的控件 |
表32-8 ASP.NET AJAX控件工具包中的控件
名称 |
描述 |
Accordion |
这个控件堆叠多个内容Panel,并允许用户每次只看到其中的一个。单击某个Panel时,该Panel展开而其他Panel收拢(这样它们只有头可见)。它的其他特性包括自动的淡入淡出效果并可以对控件的大小进行限制(此时,如果控件可见,较大的内容区域会显示滚动条) |
NoBot |
这个控件执行数项检查识别是否是某个自动程序(bot)正在访问页面。如果NoBot确认当前是机器人在访问页面,请求就会被拒绝。虽然可以被绕开,但这项技术主要用于防止程序偷窃内容或者向博客提交垃圾内容。例如,NoBot强制浏览器执行一段使用HTML DOM并提交结果的JavaScript计算,它的目的是捕获访问页面的非浏览器应用程序。NoBot还拒绝那些表单回发特别迅速或在特定间隔时间内回传次数特别多的请求。这两种行为都暗示当前是一个程序而不是人在进行工作 |
Rating |
这个控件允许用户在一组星号上滑动鼠标,当希望个数的星号被显示后设置等级 |
ReorderList |
这个控件创建一个可滚动的模板列表,它允许用户通过拖放对项目进行重新排序 |
TabContainer |
这个控件模拟Windows中的页签。每个页签有一个页头,用户通过单击页头在页签间切换 |
要使用任意这些控件或控件扩展器,只要把它们拖拉到窗体上,设置相应的属性运行页面即可。图32-11显示了一个展开和收缩的可收合面板。图32-12显示了一个可拖拉的面板,包括拖拉前和拖拉后的样式。