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

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

阅读更多

作者:Dflying Chen http://dflying.cnblogs.com/

本系列有三篇文章:

  1. ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类
  2. ASP.NET Atlas简单控件介绍——InputControlTextBoxButtonCheckBox
  3. ASP.NET Atlas简单控件介绍——LabelHyperLinkSelectImage

这篇是其中的第一篇:ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类

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

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

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

  1. idAtlas组件的标识符,将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. beginUpdateendUpdate:依赖于基类的实现,可以通过调用这两个方法延迟或一起更新一批组件,以提高性能或减少屏幕闪烁。
  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控件实现客户端分页导航中找到该方法的实际应用。

在接下来的几篇中,我会介绍继承或间接继承于Sys.UI.ControlAtlas内建控件,希望不会像这篇一样枯燥。

分享到:
评论

相关推荐

    庖丁解牛纵向切入ASP.NET 3.5控件和组件开发技术.pdf

     本书主要介绍asp.net的控件开发,书中通过70多个例子讲解了asp.net控件开发技术的各个方面,而且剖析了很多控件中系统基类源代码,读者从这些系统源代码可以体会设计模式思想。如果扎实地掌握了asp.net控件的运行...

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

    3.8.2 屏蔽基类控件中的属性 52 3.8.3 page.request.browser属性 53 3.8.4 设置控件id规范 53 3.8.5 增强findcontrol功能 54 3.8.6 映射服务端控件值到客户端 55 3.8.7 禁止派生自compositecontrol的控件创建子...

    ASP.net常用控件属性跟方法

    ListBox控件 功能:在Web页中创建列表框,并允许用户从列表中选择一项或多项。 属性: 1、Rows属性:表示所能显示的列表项的行数,如果列表项的数目大于Rows值,则会自动产生滚动条,以便选择更多的选项。 2、...

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part1

    3.8.2 屏蔽基类控件中的属性 52 3.8.3 page.request.browser属性 53 3.8.4 设置控件id规范 53 3.8.5 增强findcontrol功能 54 3.8.6 映射服务端控件值到客户端 55 3.8.7 禁止派生自compositecontrol的控件创建子...

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part2

    3.8.2 屏蔽基类控件中的属性 52 3.8.3 page.request.browser属性 53 3.8.4 设置控件id规范 53 3.8.5 增强findcontrol功能 54 3.8.6 映射服务端控件值到客户端 55 3.8.7 禁止派生自compositecontrol的控件创建子...

    .net Web.Page 基类

    只是一个小小的操作数据库和Session的封装,只不过发布文档时候好像不提供上传,只好出此下策,有兴趣的朋友可以看看,觉得很垃圾也希望不要给我鸡蛋喔,呵呵,开玩笑,请多多指正....

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术part1

    《庖丁解牛:纵向切入ASP.NET3.5控件和组件开发技术》主要介绍ASP.NET的控件开发,书中通过70多个例子讲解了ASP.NET控件开发技术的各个方面,而且剖析了很多控件中系统基类源代码,读者从这些系统源代码可以体会设计...

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术part2

    《庖丁解牛:纵向切入ASP.NET3.5控件和组件开发技术》主要介绍ASP.NET的控件开发,书中通过70多个例子讲解了ASP.NET控件开发技术的各个方面,而且剖析了很多控件中系统基类源代码,读者从这些系统源代码可以体会设计...

    asp.net知识库

    .NET20 一种简单的窗口控件UI状态控制方法 翻译MSDN文章 —— 泛型FAQ:最佳实践 Visual C# 3.0 新特性概览 C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 ...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    该书与《ASP.NET 2.0入门经典(第4版)》及其早期版本,曾影响到无数中国Web程序员。. ASP.NET允许Web站点为每个访问者显示独一无二的页面,而不是显示相同的静态HTML页面。ASP.NET 2.0的发布,使Web应用程序的...

    ASP.NET 控件的使用

    9.3.2 使用ASP.NET的Control-Parameter对象 274 9.3.3 使用ASP.NET的Cookie-Parameter对象 277 9.3.4 使用ASP.NET的Form-Parameter对象 279 9.3.5 使用ASP.NET的Profile-Parameter对象 281 9.3.6 使用QueryString...

    asp.net中使用基类库

    通过此视频教程的学习可以了解.NET框架类介绍和asp.net中文件操作,图形操作,密码操作等知识

    ASP.NET.4揭秘

    asp.net 4揭秘.第1卷》 第一部分 构建asp.net页面 第1章 asp.net framework概览2 1.1 asp.net和.net framework5 1.1.1 框架类库5 1.1.2 公共语言运行库10 1.2 asp.net控件11 1.2.1 asp.net控件概览11 1.2.2 html控件...

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf 第I部分 语言结构和环境 第1章 visual studio 2010 3 1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 ...

    NET设计规范-.NET约定、惯用法与模式.part2

    1.1.1 精心设计的框架是简单的 2 1.1.2 精心设计的框架设计代价高 3 1.1.3 精心设计的框架充满利弊权衡 3 1.1.4 精心设计的框架应该借鉴过去 4 1.1.5 精心设计的框架要考虑未来发展 4 1.1.6 精心设计的...

    Asp.net实现多语言Demo.rar

    ASP.NET表达式是基于运行时计算的信息设置控件属性的一种声明性方式. ASP.NET表达式主要应用在:连接字符串,应用程序设置,资源文件等地方. ASP.NET 表达式的基本语法如下: $ expressionPrefix: expressionValue %...

    《WPF深入研究》之Control控件一章源码.rar

    这一章介绍Control 控件。 本章共计51个示例,全都在VS2008下.NET3.5测试通过。 关于在VS2008新建WPF类库时,有Custom Control和User Control两个选择。 User Control类库会在工程中建立一个XAML文件及其绑定后台...

    ASP.NET.1.0高级编程.part1

    本书理论联系实际、全面深入地介绍了ASP.NET及其相关知识,是进行ASP.NET开发的高级编程指南。通过本书的学习,可以全面掌握利用NET Framework进计Web应用程序开发的技巧。  本书主要内容  ·ASP.NET和.NET ...

Global site tag (gtag.js) - Google Analytics