ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类
作者:Dflying Chen (http://dflying.cnblogs.com/)
本系列有三篇文章:
- ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类
- ASP.NET Atlas简单控件介绍——InputControl,TextBox,Button和CheckBox
- ASP.NET Atlas简单控件介绍——Label,HyperLink,Select和Image
这篇是其中的第一篇:ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类
ASP.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提供的属性:
- id:Atlas组件的标识符,将Atlas客户端组件与DOM元素连接起来。这个id值与DOM元素的id属性值相同,Atlas使用这个id以找到相关的DOM元素。
- bindings:该组件的绑定集合。关于Atlas中的绑定,请参考:Atlas揭秘 —— 绑定(Binding)。
- dataContext:该组件的绑定的操作对象。如果您设置了这个属性,那么所有绑定条目默认会继承这个对象,但您也可以在绑定的声明中覆盖这个默认的设定。
- isInitialized:布尔值,代表该组件是否被初始化过。只读。
- isUpdating:该组件是否正在更新中,在开始调用beginUpdate()方法到调用endUpdate()方法期间为true,其他时间为false。只读。
Sys.Component还提供如下的方法:
- beginUpdate与endUpdate:依赖于基类的实现,可以通过调用这两个方法延迟或一起更新一批组件,以提高性能或减少屏幕闪烁。
- initialize:构造函数,不必多言,继承类可以扩展该方法并初始化自己的成员。
还有如下事件:
- propertyChanged:当组件的某个属性变化时,应该引发该事件。Atlas绑定的实现依赖于这个事件。
现在让我们看看Sys.UI.Control提供的属性:
- accessKey:获取或设置控件的accessKey,该属性是DOM元素中的accessKey属性的包装。
- associatedElement:返回控件的相关DOM元素。这个属性应该传入给控件的构造函数,并在构造以后不可以修改。
- behaviors:该组件的Behavior集合。关于Atlas中的Behavior,请参考:在ASP.NET Atlas中创建自定义的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:获取或设置该控件是否可见。
Sys.UI.Control同样提供如下方法:
- addCssClass:为该控件添加一个CSS Class。
- removeCssClass:删除该控件的一个CSS Class。
- containsCssClass:返回布尔值,代表该控件是否有指定的CSS Class。
- toggleCssClass:如果该控件没有指定的CSS Class,则添加,如果有,则删除。
- focus:使该控件获得输入焦点。
- scrollIntoView:使该控件滚动到屏幕可视范围内。
- onBubbleEvent:处理该控件的子控件发出的Bubble事件。您可以在这篇文章:使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航中找到该方法的实际应用。
- raiseBubbleEvent:该方法会调用该控件所有父控件的onBubbleEvent方法,来实现Bubble事件。您可以在这篇文章:使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航中找到该方法的实际应用。
在接下来的几篇中,我会介绍继承或间接继承于Sys.UI.Control的Atlas内建控件,希望不会像这篇一样枯燥。
ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类相关推荐
- ASP.NET Atlas简单控件介绍——InputControl,TextBox,Button和CheckBox
作者:Dflying Chen (http://dflying.cnblogs.com/) 注:本系列文章比较基础,基本为Atlas官方文档的翻译,熟悉Atlas的朋友可以跳过. 本系列有三篇文章: ...
- Atlas客户端类库、控件介绍(2)
今日任务: 在HTML元素中,实现鼠标的over.out事件非常简单,将onmouseover.onmouseout关联至相应的javascript函数即可.同样的,在Atlas框架模型里,需要实现同 ...
- ASP.Net服务端基本控件介绍
lASP.Net服务端控件是ASP.Net对HTML的封装,在C#代码中就可以用txt1.Text='abc'这种方式来修改input的值,ASP.Net会将服务端控件转成HTML代码输出给浏览器.服 ...
- 构建安全的 ASP.NET 网页和控件
本页内容 本模块内容 目标 适用范围 如何使用本模块 威胁和对策 设计注意事项 输入验证 跨站点脚本 身份验证 授权 模拟 敏感数据 会话管理 参数处理 异常管理 审核和日志记录 小结 其他资源 本模 ...
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(1)读者序】★★★...
本书主要内容 大部分开发人员在学习Asp.net的过程中都有这样的体会,使用Asp.net开发很多年,但仍然感觉对Asp.net技术的了解比较少,对知识点的了解比较模糊:以及,在工作过程中经常接到克刻 ...
- 【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件
分页控件正式命名为 QuickPager ASP.NET2.0分页控件 . 版本号:2.0.0.1 Framework:.net2.0 分页方式:PostBack .URL (暂时没有实现URL的分页 ...
- 从零开始学Pyqt5之【控件介绍】(15):绘图类控件QPainter、QPen、QBrush、QPixMap
从零开始学Pyqt5之[控件介绍](15):绘图类控件QPainter.QPen.QBrush.QPixMap QPainter控件 QPainter控件的作用 QPainter控件常用方法 QPai ...
- ASP.NET 使用RegularExpressionValidator控件(数据输入格式验证)
ASP.NET使用RegularExpressionValidator控件(数据输入格式验证)RegularExpressionValidator控件用于验证输入表单字段的值是否与某个正则表达式所定义 ...
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
================================ 欢迎转载,但是请注明出处.本文出自博客园 .谢谢合作! ================================ 最新版本:V ...
最新文章
- tplink wr886n v5.0 ttl 接线方法
- Ceph 客户端的 RPM 包升级问题
- aix 5.3 安装oracle 10g r2,AIX 5.3 安装 Oracle 10g R2(64)
- 专为linux设计的笔记本,平板变笔记本,Linux 设备也要凑凑热闹
- 内存还剩余很多,却使用 swap 分区
- 安卓学习笔记24:常用控件 - 循环器视图
- Canvas -画图 关键字
- Splash 简介与安装
- 17. jQuery - css() 方法
- QQ小程序激励广告接入与使用
- 关于钢琴学习的若干问题的混蛋解答 【2014/1/29更新,未完待续…………】
- namecheap关闭域名自动续费的方法步骤
- 10-25 查询选修张老师讲授所有课程的学生
- php写poc,0day Poc编写指南(实战篇)
- Ambarella S6L55M 性能测试之内存篇
- 王牌竞速服务器维护,《王牌竞速》更新公告
- 如何注册公司邮箱?公司邮箱邮件这样写98%的人都爱看
- 利用OpenCV识别图片背景是否透明
- [TIM] 微信登录TIM生产QQ号【并独立使用】
- 深度学习在计算机视觉领域图像应用总结