ASP.NET服务器控件开发(1)--封装html

在我们的项目开发中,由于ASP.NET的服务器控件功能有限,所以我们经常会自己定义特定的服务器控件,来满足开发中特定的业务要求。可见知道如何开发ASP.NET服务器控件是非常有必要的。

其实简单的实现ASP.NET服务器控件不是很难,以前园子中也有大牛介绍过相应的内容,这里站在巨人的肩膀上也来分享下开发ASP.NET服务器控件的方法和自己的一些体会。写给新手,高手绕过。

学习ASP.NET的服务器控件开发,个人认为最好的方式就是自己去实践,当然理论知识也是很重要的,但是如果我们只是看理论的知识,可能会被里面的一些概念闹糊涂,看着看着就睡着了,如果自己动手创做出一个自己的控件,效果就不一样了。

下面就通过实例创建一个简单的服务器控件:

首先我们创建一个类库工程SelfWebControl。在同一解决方案中我们在创建一个ASP,NET Web应用程序(用来测试我们得控件)

namespace SelfWebControl
{
     public class ControlA:Control//Control类中定义了所有ASP.NET服务器控件共享的属性和方法
     {

     }
}

我将ControlA类继承Control类,Control类是.NET中所有控件的基类,其中包含了控件共有的属性和方法。

Control类

公共属性:

ClientID 获取由 ASP.NET 生成的服务器控件标识符。

Controls 获取 ControlCollection 对象,该对象表示 UI 层次结构中指定服务器控件的子控件。

EnableViewState 获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。

ID 获取或设置分配给服务器控件的编程标识符。

NamingContainer 获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 Control.ID 属性值的服务器控件。

Page 获取对包含服务器控件的 Page 实例的引用。

Parent 获取对页 UI 层次结构中服务器控件的父控件的引用。

Site 获取有关服务器控件所属 Web 站点的信息(原文自MSDN,但是我认为不对,应该是指组件的“容器”站点,并非 web site)。

TemplateSourceDirectory 获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。

UniqueID 获取服务器控件的唯一的、以分层形式限定的标识符。

Visible 获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。

公共方法:

DataBind 将数据源绑定到被调用的服务器控件及其所有子控件。

Dispose 使服务器控件得以在从内存中释放之前执行最后的清理操作。

Equals(从 Object 继承) 已重载。确定两个 Object 实例是否相等。

FindControl 已重载。在当前的命名容器中搜索指定的服务器控件。

GetHashCode(从 Object 继承) 用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。

GetType(从 Object 继承) 获取当前实例的 Type。

HasControls 确定服务器控件是否包含任何子控件。

RenderControl 将服务器控件的内容输出到所提供的 HtmlTextWriter 对象中;如果已启用跟踪功能,则存储有关控件的跟踪信息。

ResolveUrl 根据传递给 TemplateSourceDirectory 属性的值,将相对 URL 解析为绝对 URL。

ToString(从 Object 继承) 返回表示当前 Object 的 String。

时间: 2024-10-31 01:11:32

ASP.NET服务器控件开发(1)--封装html的相关文章

ASP.NET服务器控件开发(1)封装html_实用技巧

在我们的项目开发中,由于ASP.NET的服务器控件功能有限,所以我们经常会自己定义特定的服务器控件,来满足开发中特定的业务要求.可见知道如何开发ASP.NET服务器控件是非常有必要的. 其实简单的实现ASP.NET服务器控件不是很难,以前园子中也有大牛介绍过相应的内容,这里站在巨人的肩膀上也来分享下开发ASP.NET服务器控件的方法和自己的一些体会.写给新手,高手绕过. 学习ASP.NET的服务器控件开发,个人认为最好的方式就是自己去实践,当然理论知识也是很重要的,但是如果我们只是看理论的知识,

ASP.NET服务器控件开发(5)--添加客户端功能

随着Ajax等技术的发展,客户端功能也逐渐变得越来越重要.如果在服务器控件中添加客户端功能,将会创作出功能更强大,界面更丰富的服务器控件. 客户端功能: 在Web编程中,客户端功能传统上是由Web页开发人员负责,并且不被封装在服务器组件中.ASP.NET脱离了这一范畴并使服务器控件能够发出客户端脚本,从而使服务器控件能够将客户端处理与服务器端处理结合起来.例如按钮控件的OnClientClick属性,就可以在其中声明一段脚本在客户端执行. OnClientClick--->return conf

ASP.NET服务器控件开发(4)--复合控件

概念: 所谓复合控件:简单的理解就是将多个基本的控件组合成一个控件,从而实现自己想要的效果.微软为ASP.NET2.0中推出的登录控件等就是一个复合控件.从功能的实现上,复合式控件有点像用户控件,只是一个是.ascx文件,一个是.dll文件. 呈现简单的复合控件: 要想呈现一个复合控件,需要了解以下几个方面: -->实现INamingContainer接口. 任何实现该接口的控件都创建一个新的命名空间,在这个新的命名空间中,所有子控件 ID 属性在整个应用程序内保证是唯一的. -->Contr

ASP.NET服务器控件开发(3)--事件和回传数据的处理

前两篇介绍了服务器控件的基本显示,属性的设定,继承Webcontrol开发控件等内容,这篇介绍下定制服务器控件的事件的处理和回传数据的处理. 当ASP.NET页面处理回传到服务器端的表单时,两种信息会传递给页面中的控件: 回传事件,如Button一类控件触发的回传,会引发服务器端事件: 回传数据:是Web表单中包含的数据,该数据是在Web表单提交到服务器端时传递给如TextBox一类的控件. 处理回传数据 PostBack(回传):ASP.NET控件提交表单到服务器端,将信息从浏览器传递到服务器

ASP.NET服务器控件开发(2)--继承WebControl类

先来介绍下WebControl类 WebControl类: WebControl 类从 Control 派生,用作定义 System.Web.UI.WebControls 命名空间中的所有控件的公共方法.属性和事件的基类.提供所有 Web 服务器控件的公共属性.方法和事件.通过设置在此类中定义的属性,可以控制 Web 服务器控件的外观和行为.主要的属性有:AccessKey.Attributes. Width.Height等.此外,一个从 WebControl 派生的控件也自行参与到 ASP.N

ASP.NET服务器控件开发简介:ComboBox

我在Web项目的开发过程中很多时候都要用到ComboBox,找了很多类似的控件来用发现都不尽如人意,我所希望的能够在WEB上使用的ComboBox应该就是在DropDownList的功能上加入了文本输入功能,我个人比较看重的一点就是下拉列表应该可以伸展到浏览器之外,然而目前大多数的ComboBox要么是用DIV来显示选择项,要么就是用TextBox+ListBox,DIV的方式会不能伸展到浏览器之外,而TextBox+ListBox方式ListBox占用页面空间.后来发现了A DHTML com

分析ASP.NET服务器控件开发-控件生命周期

服务器控件生命周期简介 服务器控件的生命周期是创建服务器控件最重要的概念.作为开发人员,必须对服务器控件生命周期深刻理解.当然,这不是一朝一夕就可以做到的.对于学习控件开发技术的初学者,可以不必掌握得非常详细深入,只需对服务器控件的生命周期中的不同阶段有一个大致的了解即可. 在掌握服务器控件生命周期的过程中,读者要特别注意有关服务器控件状态的相关内容.在重点了解生命周期各个阶段的同时,对服务器控件的状态变化要注意以下问题:控件的生命周期何时保存控件和恢复其状态:何时与页面及其他控件之间进行交互:

ASP.NET 2.0服务器控件开发的基本概念

利用ASP.NET 2.0技术,创建Web自定义服务器控件并不是一件轻松的事情.因为,这需要开发人员了解并能够灵活应用多种Web开发技术,例如,CSS样式表.客户端脚本语言..NET开发语言.服务器控件开发技术,甚至是当前最火的AJAX技术等等.虽然现实如此"艰难",但是这种开发技术也不是真的难到不可掌握.事事都要从头做起.本文将针对利用asp.net 2.0技术,创建Web自定义服务器控件的基础知识进行详细介绍,内容包括:服务器控件概念.控件类型.生命周期等. ASP.NET 2.0

ASP.NET 2.0服务器控件开发之简单属性

asp.net|服务器|控件|控件开发 在前面的系列文章中,笔者已经列举了几个实现自定义服务器控件的示例.通过这些示例,读者初步接触了有关创建服务器控件属性的内容.例如,使用私有变量.视图状态.控件状态等实现属性等等.虽然读者通过这些内容可以了解实现属性的一些基本知识,但是这还是不够的.从本节开始,将针对实现自定义服务器控件属性的问题展开讲解.本节重点介绍实现自定义服务器控件属性的一些基本概念和简单属性的基本实现方法等内容. 1. 控件属性基本概念 本小节介绍有关创建服务器控件属性的基本内容,具