热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

ASP.NETAtlas中引入了客户端控件的概念,用面向对象思想将客户端JavaScript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好

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

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

 

主要内容

1.概述

2.Sys.Component基类

3.Sys.UI.Control基类

4.其他控件

 

一.概述

ASP.NET Atlas中引入了客户端控件的概念,用面向对象思想将客户端Javascript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好的可复用性(不足之处是效率有所降低)。Atlas的客户端控件是连接JavascriptDOM元素的桥梁,我们应该尽可能的使用客户端控件与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,它的基本定义形式如下:

None.gif<control accesskey&#61;"accelerator key" 
None.gif
None.gif    cssclass
&#61;"CSS class" 
None.gif
None.gif    datacontext
&#61;"source for data binding operations"
None.gif
None.gif    enabled
&#61;"true|false" 
None.gif
None.gif    id
&#61;"identifier for looking up the component by name" 
None.gif
None.gif    propertychanged
&#61;"event handler"
None.gif
None.gif    tabindex
&#61;"element&#39;s tab index" 
None.gif
None.gif    visibilitymode
&#61;"Hidden|Collapse" 
None.gif
None.gif    visible
&#61;"true|false"
None.gif
None.gif
> 
None.gif
None.gif    
<behaviors>
None.gif
None.gif        

None.gif
None.gif    
behaviors>
None.gif
None.gif    
<bindings>
None.gif
None.gif        

None.gif
None.gif    
bindings>
None.gif
None.gif    
<propertyChanged>
None.gif
None.gif        

None.gif
None.gif    
propertyChanged>
None.gif
None.gif
control>

它的属性和方法&#xff1a;

名称

描述

属性

accessKey

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

associatedElement

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

behaviors

该组件的Behavior集合。

cssClass

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

enabled

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

parent

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

style

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

tabIndex

获取或设置该控件的tab index

visibilityMode

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

visible

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

方法

addCssClass

为该控件添加一个CSS Class

removeCssClass

删除该控件的一个CSS Class

containsCssClass

返回布尔值&#xff0c;代表该控件是否有指定的CSS Class

toggleCssClass

如果该控件没有指定的CSS Class&#xff0c;则添加&#xff0c;如果有&#xff0c;则删除。

focus

使该控件获得输入焦点。

scrollIntoView

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

onBubbleEvent

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

raiseBubbleEvent

该方法会调用该控件所有父控件的onBubbleEvent方法&#xff0c;来实现Bubble事件。

四&#xff0e;其他控件

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

名称

描述

Button

AtlasDOM元素中的Button概念扩展&#xff0c;使Button不单单指typebuttonsubmitHTML input元素&#xff0c;还可以应用到例如span&#xff0c;a等元素上&#xff0c;提供开发人员统一的编程接口。

CheckBox

CheckBox封装了typecheckboxinput DOM元素。

HyperLink

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

Image

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

InputControl

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

Label

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

Select

Select控件封装了DOM元素select&#xff0c;可用来表示一个Drop Down List

TextBox

Atlas中的TextBox封装了typeinputDOM元素input&#xff0c;或是DOM元素textarea

 

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

[说明&#xff1a;本文内容基本来自于Dflying的文章]



推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • ①页面初始化----------收到客户端的请求,产生相应页面的Page对象,通过Page_Init事件进行page对象及其控件的初始化.②加载视图状态-------ViewSta ... [详细]
  • WPF之Binding初探
      初学wpf,经常被Binding搞晕,以下记录写Binding的基础。首先,盗用张图。这图形象的说明了Binding的机理。对于Binding,意思是数据绑定,基本用法是:1、 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了10分钟了解Android的事件分发相关的知识,希望对你有一定的参考价值。什么是事件分发?大家 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • React提供三种方式创建Refs:字符串Refs(将被废弃)回调函数RefsReact.createRef(从React16.3开始)第一种方式不推荐使用,原因在此,并且可能会在之后的版本移除。classMyComponentextendsReact.Component{constructor(props){sup ... [详细]
author-avatar
hongxiaochen8846_792
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有