作者: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内建控件,希望不会像这篇一样枯燥。
分享到:
相关推荐
书中详细介绍了如何利用基类System.Web.UI.WebControls.WebControl和System.Web.UI.WebControls.BaseDataBoundControl来创建自定义控件,并且讲解了控件的属性和事件绑定机制。 组件开发是另一个重要的主题,特别是...
在ASP.NET中,自定义控件是开发者为了满足特定需求,通过继承自System.Web.UI.WebControls.Control基类或其他控件类,创建具有特定功能的UI元素。EeekSoft.Web.PopupWin.zip是一个包含ASP.NET自定义控件的压缩包,它...
1. **控件自定义**:ASP.NET允许开发者创建自定义服务器控件,ExtenTree可能是通过继承自`System.Web.UI.WebControls.TreeView`基类或者使用WebControl类进行扩展,并添加了无限级和动态加载的功能。 2. **数据绑定...
ASP.NET服务器控件与组件开发是Web应用程序设计中的核心部分,它允许开发者构建交互性强、功能丰富的用户界面。本文将深入探讨ASP.NET服务器控件、自定义组件开发以及相关技术。 **ASP.NET服务器控件** ASP.NET...
在ASP.NET 3.5中,控件通常继承自System.Web.UI.WebControls命名空间下的基类,而组件可能来自System.Web命名空间或其他自定义的类库。 在ASP.NET 3.5中,自定义控件开发主要涉及以下几个方面: 1. **服务器控件**...
其中,`System.Web.UI.Page`类是ASP.NET Web应用程序中所有网页的基础,它是每个ASP.NET页面生命周期的核心。本文将深入探讨`.NET Web.Page`基类,以及它如何处理数据库操作和Session管理。 一、Web.Page基类介绍 ...
用户控件是ASP.NET中的基本自定义UI元素,它是通过将多个标准ASP.NET控件组合在一起,形成一个复合控件来实现的。用户控件可以看作是网页的微型版,具有自己的HTML、服务器控件和脚本。创建用户控件的主要步骤包括:...
ASP.NET服务器控件的类定义在`System.Web.UI`、`System.Web.UI.HtmlControls`和`System.Web.UI.WebControls`命名空间中。这些控件按照继承关系形成层次结构,允许开发者通过基类的通用功能和派生类的特有功能相结合...
《庖丁解牛纵向切入ASP.NET 3.5控件和组件开发技术》是一本深入探讨ASP.NET控件开发的书籍,旨在帮助开发者提升对ASP.NET技术的理解和应用水平。书中通过70多个实例详细讲解了控件开发的各个方面,并分析了系统基类...
本资源"ASP.NET源码——数据库访问层源码.zip"提供的是数据库访问层(DAL,Data Access Layer)的源代码,这是软件架构中的关键部分,负责处理应用程序与数据库之间的数据交互。 数据库访问层是应用程序和数据库...
1. **创建控件类**:首先,我们需要创建一个新的C#或VB.NET类,并让它继承自适当的基类,如`System.Web.UI.WebControls.WebControl`。 2. **添加属性和事件**:为了让控件具有特定的行为和可配置性,我们可以定义新...
自定义控件则是开发者根据需求创建的特定功能控件,可以继承自.NET Framework提供的基类,实现更复杂的行为或视觉效果。 描述中虽然没有提供具体信息,但我们可以推断,该主题可能涵盖了以下内容: 1. **组件模型*...
ASP.NET控件与组件开发是Web开发领域中的一个重要主题,主要涉及如何在ASP.NET框架下创建和使用自定义的服务器控件以及组件。这门教程深入浅出地讲解了这一技术,适合对ASP.NET有一定基础的开发者进行进一步的学习和...
1. **定义验证控件类**:继承自System.Web.UI.WebControls.BaseValidator类,这是所有ASP.NET验证控件的基类。通过这个基类,我们可以访问到验证控件的核心属性和方法,如ControlToValidate、Text、ErrorMessage等。...
3. 兼容性:导航控件与ASP.NET的主题和皮肤机制相结合,允许开发者轻松改变导航的外观和感觉,以适应网站的整体设计。 4. SEO友好:通过正确配置,导航控件可以生成对搜索引擎友好的链接,有助于提高网站的搜索引擎...
《深入理解System.web.dll及其在ASP.NET MVC中的应用》 System.web.dll是.NET Framework的核心组件之一,主要用于构建基于ASP.NET的Web应用程序。这个动态链接库(DLL)包含了大量与Web开发相关的类和方法,使得...
ASP.NET期末复习题知识点总结 以下是根据给定的文件信息,总结出的相关知识点: 一、ASP.NET 基础 * ASPX 网页的代码储存模式有两种:单一模式和代码隐藏模式 * ASP.NET 窗体文件的扩展名为.aspx * ASP.NET 支持...
ASP.NET 简单生成 XML 文件的方法 标题解释 ASP.NET 编程知识中,生成 XML 文件是一种常见的操作。XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。本文将介绍 ASP.NET 中简单生成 XML 文件...
在ASP.NET中,我们可以通过继承现有的WebControl或CompositeControl基类来自定义控件。自定义下拉多选控件可能包含以下几个关键部分: 1. 用户界面:通过HTML和CSS构建下拉框的外观,同时利用HTML `<select>` 元素...
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的控件创建子...