Atlas学习手记(19):客户端简单控件介绍

ASP.NET Atlas中引入了客户端控件的概念,用面向对象思想将客户端JavaScript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好的可复用性(不足之处是效率有所降低)。Atlas的客户端控件是连接JavaScript与DOM元素的桥梁,我们应该尽可能的使用客户端控件与DOM元素打交道,也就是以Atlas的方法来编写我们的程序。

本文主要简单介绍一下Atlas中的客户端简单控件。

主要内容

1.概述

2.Sys.Component基类

3.Sys.UI.Control基类

4.其他控件

一.概述

ASP.NET Atlas中引入了客户端控件的概念,用面向对象思想将客户端JavaScript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好的可复用性(不足之处是效率有所降低)。Atlas的客户端控件是连接JavaScript与DOM元素的桥梁,我们应该尽可能的使用客户端控件与DOM元素打交道,也就是以Atlas的方法来编写我们的程序。

二.Sys.Component基类

Sys.Component是所有的Atlas客户端控件的抽象基类,它的属性和方法如下:

名称

描述

属性

id

Atlas组件的标识符,将Atlas客户端组件与DOM元素连接起来。这个id值与DOM元素的id属性值相同,Atlas使用这个id以找到相关的DOM元素。

bindings

该组件的绑定集合。

dataContext

该组件的绑定的操作对象。如果您设置了这个属性,那么所有绑定条目默认会继承这个对象,但您也可以在绑定的声明中覆盖这个默认的设定。

isInitialized

布尔值,代表该组件是否被初始化过。只读。

isUpdating

该组件是否正在更新中,在开始调用beginUpdate()方法到调用endUpdate()方法期间为true,其他时间为false。只读。

方法

beginUpdate

更新组件,提高性能或者减少屏幕闪烁,必须与endUpdate配对使用

endUpdate

更新组件,提高性能或者减少屏幕闪烁,与beginUpdate配对使用

initialize

构造函数

事件

propertyChanged

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

三.Sys.UI.Control基类

所有的Atlas客户端控件都必须继承于Sys.UI.Control,它的基本定义形式如下:

<control accesskey="accelerator key" 

    cssclass
="CSS class" 

    datacontext
="source for data binding operations"

    enabled
="true|false" 

    id
="identifier for looking up the component by name" 

    propertychanged
="event handler"

    tabindex
="element's tab index" 

    visibilitymode
="Hidden|Collapse" 

    visible
="true|false"

> 

    
<behaviors>

        
<!-- behaviors -->

    
</behaviors>

    
<bindings>

        
<!-- bindings -->

    
</bindings>

    
<propertyChanged>

        
<!-- actions -->

    
</propertyChanged>

</control>

它的属性和方法:

名称

描述

属性

accessKey

获取或设置控件的accessKey,该属性是DOM元素中的accessKey属性的包装。

associatedElement

返回控件的相关DOM元素。这个属性应该传入给控件的构造函数,并在构造以后不可以修改。

behaviors

该组件的Behavior集合。

cssClass

获取或设置控件的CSS Class,该属性是DOM元素中的class属性的包装。

enabled

代表该控件是否被启用,该属性是DOM元素中的enabled属性的包装。

parent

获取或设置该控件的父控件。

style

获取该控件相对应的DOM元素的style属性值。

tabIndex

获取或设置该控件的tab index。

visibilityMode

获取或设置该控件在隐藏时的显示模式,可选枚举值:Sys.UI.VisibilityMode.Collapse代表该控件隐藏时不占用页面空间,Sys.UI.VisibilityMode.Hidden代表该控件隐藏时依然占有其位置。

visible

获取或设置该控件是否可见。

方法

addCssClass

为该控件添加一个CSS Class。

removeCssClass

删除该控件的一个CSS Class。

containsCssClass

返回布尔值,代表该控件是否有指定的CSS Class。

toggleCssClass

如果该控件没有指定的CSS Class,则添加,如果有,则删除。

focus

使该控件获得输入焦点。

scrollIntoView

使该控件滚动到屏幕可视范围内。

onBubbleEvent

处理该控件的子控件发出的Bubble事件。

raiseBubbleEvent

该方法会调用该控件所有父控件的onBubbleEvent方法,来实现Bubble事件。

四.其他控件

这里简单介绍一下Atlas内置的一些客户端简单控件。

名称

描述

Button

Atlas将DOM元素中的Button概念扩展,使Button不单单指type为button或submit的HTML input元素,还可以应用到例如span,a等元素上,提供开发人员统一的编程接口。

CheckBox

CheckBox封装了type为checkbox的input DOM元素。

HyperLink

HyperLink控件继承于Sys.UI.Label,用来封装HTML中的a元素。

Image

Image控件作为对DOM元素img的封装。

InputControl

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

Label

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

Select

Select控件封装了DOM元素select,可用来表示一个Drop Down List。

TextBox

Atlas中的TextBox封装了type为input的DOM元素input,或是DOM元素textarea。

关于客户端简单控件件简单的学习到这儿,在下一篇我会用一个简单的例子来说明Button的使用。

[说明:本文内容基本来自于Dflying的文章]

posted on 2008-03-25 11:17  秋天  阅读(216)  评论(0编辑  收藏  举报

导航