ASP.NET Atlas简单控件介绍

转载 2006年06月07日 10:42:00

SP.NET Atlas中引入了客户端控件的概念,用面向对象思想将客户端JavaScript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好的可复用性(不足之处是效率有所降低)。Atlas的客户端控件是连接JavaScript与DOM元素的桥梁,我们应该尽可能的使用客户端控件与DOM元素打交道,也就是以Atlas的方法来编写我们的程序。同时,Atlas对JavaScript面向对象方面的强大扩展(请参考:ASP.NET Atlas对JavaScript的扩展),也让我们很容易通过继承,覆写等方法来构建自定义的控件。

在前面的一些帖子中,我介绍了一些Atlas中较复杂的控件。但同时,Atlas也提供了一些比较简单/基础的客户端控件,同样在开发中十分有用,让我们通过这个系列来熟悉Atlas自带的简单客户端控件。

所有的Atlas客户端控件都继承于Sys.UI.Control基类,同时Sys.UI.Control继承于Sys.Component基类,让我们先看看Sys.Component提供的属性:

   1. id:Atlas组件的标识符,将Atlas客户端组件与DOM元素连接起来。这个id值与DOM元素的id属性值相同,Atlas使用这个id以找到相关的DOM元素。
   2. bindings:该组件的绑定集合。关于Atlas中的绑定,请参考:Atlas揭秘 —— 绑定(Binding)。
   3. dataContext:该组件的绑定的操作对象。如果您设置了这个属性,那么所有绑定条目默认会继承这个对象,但您也可以在绑定的声明中覆盖这个默认的设定。
   4. isInitialized:布尔值,代表该组件是否被初始化过。只读。
   5. isUpdating:该组件是否正在更新中,在开始调用beginUpdate()方法到调用endUpdate()方法期间为true,其他时间为false。只读。

Sys.Component还提供如下的方法:

   1. beginUpdate与endUpdate:依赖于基类的实现,可以通过调用这两个方法延迟或一起更新一批组件,以提高性能或减少屏幕闪烁。
   2. initialize:构造函数,不必多言,继承类可以扩展该方法并初始化自己的成员。

还有如下事件:

   1. propertyChanged:当组件的某个属性变化时,应该引发该事件。Atlas绑定的实现依赖于这个事件。

现在让我们看看Sys.UI.Control提供的属性:

   1. accessKey:获取或设置控件的accessKey,该属性是DOM元素中的accessKey属性的包装。
   2. associatedElement:返回控件的相关DOM元素。这个属性应该传入给控件的构造函数,并在构造以后不可以修改。
   3. behaviors:该组件的Behavior集合。关于Atlas中的Behavior,请参考:在ASP.NET Atlas中创建自定义的Behavior。
   4. cssClass:获取或设置控件的CSS Class,该属性是DOM元素中的class属性的包装。
   5. enabled:代表该控件是否被启用,该属性是DOM元素中的enabled属性的包装。
   6. parent:获取或设置该控件的父控件。
   7. style:获取该控件相对应的DOM元素的style属性值。
   8. tabIndex:获取或设置该控件的tab index。
   9. visibilityMode:获取或设置该控件在隐藏时的显示模式,可选枚举值:Sys.UI.VisibilityMode.Collapse代表该控件隐藏时不占用页面空间,Sys.UI.VisibilityMode.Hidden代表该控件隐藏时依然占有其位置。
  10. visible:获取或设置该控件是否可见。

Sys.UI.Control同样提供如下方法:

   1. addCssClass:为该控件添加一个CSS Class。
   2. removeCssClass:删除该控件的一个CSS Class。
   3. containsCssClass:返回布尔值,代表该控件是否有指定的CSS Class。
   4. toggleCssClass:如果该控件没有指定的CSS Class,则添加,如果有,则删除。
   5. focus:使该控件获得输入焦点。
   6. scrollIntoView:使该控件滚动到屏幕可视范围内。
   7. onBubbleEvent:处理该控件的子控件发出的Bubble事件。您可以在这篇文章:使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航中找到该方法的实际应用。
   8. raiseBubbleEvent:该方法会调用该控件所有父控件的onBubbleEvent方法,来实现Bubble事件。您可以在这篇文章:使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航中找到该方法的实际应用。


Atlas
中的客户端控件均继承或间接继承于Sys.UI.Control基类(请参考:ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类),并有所扩展,本文将介绍Atlas内建的简单控件InputControl,TextBox,Button和CheckBox。

Sys.UI.InputControl

InputControl类是一个抽象类,作为所有提供用户输入的控件(例如TextBox,见下文)的基类,提供了输入数据验证等公有操作。InputControl抽象类提供如下属性:

   1. isValid:该属性为只读,返回布尔值,代表输入数据经过验证后是否合法,即是否通过了所有Validator(请参考:在ASP.NET Atlas中创建自定义的Validator)的验证。
   2. validationMessage:该属性为只读,返回String。当验证失败时,它包含第一个引发失败的Validator的错误信息;若验证成功,则为空字符串。
   3. validators:返回该InputControl的Validator集合,您可以通过这个属性添加/删除某个Validator来实现对用户输入信息的验证。

Sys.UI.TextBox

TextBox控件是任何一种GUI都必须提供的控件之一,也是我们最常用的和用户交互的控件之一。Atlas中的TextBox封装了type为input的DOM元素input,或是DOM元素textarea,继承于InputControl基类以获得输入数据验证的功能。TextBox提供如下属性。

   1. text:获取或设置TextBox中的文字。

正因为TextBox在实际程序设计中非常常用,所以我们也经常需要对它的扩展。关于对TextBox空间的扩展,有兴趣的朋友请参考:

   1. 使用ASP.NET Atlas开发In Place Editing输入控件
   2. 使用ASP.NET Atlas开发随输入内容自动调整行数的textarea

Sys.UI.Button

Button控件在GUI中同样重要。Atlas将DOM元素中的Button概念扩展,使Button不单单指type为button或submit的HTML input元素,还可以应用到例如span,a等元素上,提供开发人员统一的编程接口。Button提供如下两个属性:

   1. command:获取或设置代表该Button引发的命令名称的String。当该Button的父控件允许event bubbling时,父控件的onBubbleEvent事件处理函数中可以访问到该属性以得到该Button传递过来的命令名称。
   2. argument:获取或设置代表该Button引发的命令参数的String。该Button的父控件允许event bubbling时,父控件的onBubbleEvent事件处理函数中可以访问到该属性以得到该Button传递过来的参数。

以上两个属性在某些情况中非常有用,您可以在这篇文章:使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航中看到它们的实际应用。

Button还提供如下的事件:

   1. click:在该Button被点击时触发。

注意:当某个Button被点击时,首先触发的是该Button的click事件,然后再触发该Button父控件的onBubbleEvent事件。

Sys.UI.CheckBox

Atlas中的CheckBox封装了type为checkbox的input DOM元素。用户可以使用它输入一个布尔值。CheckBox提供如下属性:

   1. checked:获取或设置代表该CheckBox是否被选中的布尔值。

CheckBox还提供如下事件:

   1. click:在该CheckBox被点击时触发。


Atlas中的客户端控件均继承或间接继承于Sys.UI.Control基类(请参考:ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类),并有所扩展,在上一篇文章(ASP.NET Atlas简单控件介绍——InputControl,TextBox,Button和CheckBox)中,我介绍了InputControl,TextBox,Button和CheckBox控件。本文将继续介绍Atlas内建的剩下四种简单控件:Label,HyperLink,Select和Image。

Sys.UI.Label

Atlas中的Label控件可以用来显示一段文字,同时也可以作为一段HTML的占位符。Label控件有如下属性:

   1. text:获取或设定Label中的内容。该内容既可以以文本方式显示或是以HTML方式显示,取决于htmlEncode属性的设定。
   2. htmlEncode:获取或设定一个布尔值。代表Label中的内容是否以纯文本方式显示,默认值为false。

Sys.UI.HyperLink

HyperLink控件继承于Sys.UI.Label,用来封装HTML中的a元素。HyperLink除了拥有Label的所有属性以外,还提供如下属性:

   1. navigateURL:获取或设置HyperLink中的导航URL,是对a元素的href属性的包装。

如下事件:

   1. click:在该HyperLink被点击时触发。

Sys.UI.Select

Select控件封装了DOM元素select,可用来表示一个Drop Down List。Select控件有如下属性:

   1. firstItemText:获取或设定List中的第一项的文本。可以被设置成诸如“请选择……”等文本来提示用户输入。默认值为空,即不显示提示输入的文字。
   2. selectedValue:获取或设定该List中被选中的条目的值。
   3. data:获取或设置一个DataTable(关于Atlas客户端DataTable对象,请参考:Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable),代表该Select中的数据。
   4. textProperty:获取或设置一个String,代表data属性中的DataTable里,将作为该Select中条目中的文本显示的字段的名称。
   5. valueProperty:获取或设置一个String,代表data属性中的DataTable里,将作为该Select中条目中的值的字段的名称。

如下事件:

   1. selectionChanged:在该Select中被选中的条目变化时被引发。

Sys.UI.Image

Image控件作为对DOM元素img的封装,提供如下属性:

   1. imageURL:获取或设置一个代表图片路径的字符串,是对img元素的src属性的封装。
   2. alternateText:获取或设置一个代表图片文字说明的字符串,是对img元素的alt属性的封装。
   3. width:获取或设置图片的宽度。
   4. height:获取或设置图片的高度。

原文地址:http://dflying.cnblogs.com/archive/2006/05/07/introduct ... label_hyperlink_select_image.html

Atlas简介

具体请看https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md        Atlas是由 Qihoo 360, Web平台部基础...
  • s20082043
  • s20082043
  • 2015年02月12日 15:49
  • 333

Apache Atlas安装文档

注意:Apache Atlas还是apache孵化项目,目前还无法用于生产环境,我也只是编译完成,在使用中还要继续探索。 Apache Atlas http://atlas.incubator...
  • rootsongjc
  • rootsongjc
  • 2016年05月19日 22:32
  • 3406

Atlas的整体架构概述

下面是Shanku Niyogi和Nikhil Kothari在PDC 2005上演示中展示的Atlas的整体架构图 (偷自Nikhil Kothari的PPT) 据Nikhil Kothari,At...
  • croppy
  • croppy
  • 2005年09月20日 21:56
  • 1825

数据切分——Atlas介绍

Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug...
  • jhq0113
  • jhq0113
  • 2015年03月13日 13:20
  • 8020

ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类

本系列有三篇文章:ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类 ASP.NET Atlas简单控件介绍——InputControl,Tex...
  • s281012
  • s281012
  • 2009年08月15日 13:15
  • 317

ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类

作者:Dflying Chen (http://dflying.cnblogs.com/)本系列有三篇文章: ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.U...
  • hejishan
  • hejishan
  • 2007年12月18日 03:50
  • 149

ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类

作者:Dflying Chen (http://dflying.cnblogs.com/)本系列有三篇文章: ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.U...
  • DFlyingchen
  • DFlyingchen
  • 2006年05月08日 09:36
  • 3074

Atlas架构及相关功能介绍

一、       Atlas的整体架构 Atlas是一个位于应用程序与MySQL之间中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。Atlas作为服务...
  • wssg3620625
  • wssg3620625
  • 2014年03月14日 17:48
  • 1733

ASP.NET开发工具Web Matrix介绍

ASP.NET开发工具Web Matrix介绍 作者:arui 主页:http://blog.csdn.net/arui319一、开篇语通常,一说到ASP.NET编程,我们大多数人都会想到微软的Vis...
  • arui319
  • arui319
  • 2005年02月18日 12:56
  • 5686

ASP.NET自定义控件组件开发 第一章:从一个简单的控件谈起

起始开发ASP.NET自定义控件不是那么的高深,当初我开始学的时候还有点恐惧,但是慢慢就好了。学习控件的开发技术,并不一定说以后要从事控件的开发,而是让我们深入的理解掌握ASP.NET内部的机理。你会...
  • quan_QQ
  • quan_QQ
  • 2017年03月07日 23:21
  • 1104
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET Atlas简单控件介绍
举报原因:
原因补充:

(最多只允许输入30个字)