如何用ASP.NET服务器自定义控件还原表单

开发 后端
利用ASP.NET服务器自定义控件还原表单的过程涉及到许多ASP.NET服务器自定义控件的技术要点,对于每一个自定义的ASP.NET服务器控件具有普遍性。本文以一个利用ASP.NET服务器自定义控件实现XML文件中还原表单的实例,将ASP.NET服务器自定义控件的各个技术要点向各位简要介绍。

利用ASP.NET服务器自定义控件还原表单是企业中常见的应用。在此过程中,涉及到许多ASP.NET服务器自定义控件的技术要点,对于每一个自定义的ASP.NET服务器控件具有普遍性。现以一个利用ASP.NET服务器自定义控件实现XML文件中还原表单的实例,将ASP.NET服务器自定义控件的各个技术要点向各位简要介绍。限于一些机密问题,源代码恕不能提供。

使用ASP.NET服务器自定义控件从XML文件中读入表单的信息(表单的各个控件),动态的生成各个控件,涉及几个技术点:

1、 读XML文件

2、 复合控件

3、 控件数组

4、 编程方式控制ASP.NET服务器自定义控件的各种属性。

5、 呈现HTML方法

ASP.NET服务器控件是一组逻辑,提供了一个独立于浏览器的用户接口组件,它包含方法和属性,当页面提交时,它在服务器中引发事件,ASP.NET服务器自定义控件可以探测客户设备的类型,然后以所支持的标记语言呈现自己。它支持的标记语言包括HTML、XML和DHTML。

◆读取XML,这个我就不说了

◆ASP.NET服务器自定义控件的生命周期:

◆复合ASP.NET服务器控件:使用类的组合(在父控件中结合使用两个或者更多的控件),从而创建复合控件。这个新控件中使用的控件此时都是子控件,但生成的控件包含了所有子控件的功能,新控件呈现了一个用户接口,可以重用已有控件的功能,包括这些ASP.NET服务器控件的属性和事件。父控件可以处理由子控件引发的事件。创建复合控件时需要考虑两件事。为了控件添加到ASP.NET服务器控件集中去,必须重写受保护的CreateChildControls()方法,该方法从控件继承下来的。在该方法中使用Controls.Add()方法添加每个子控件到控件树中。

为了避免子控件与页面其他控件之间的命名冲突,就必须使用INamingContainer接口。如果控件有任何类型的数据绑定,或者它是模版控件,或者它需要向子控件发送事件,就需要使用这个接口。(注意:子控件为控件处理所有的呈现,因此不需要重写Render()方法)。

◆控件数组:由于在还原表单中,存在大量的同类型的控件,最直接的数据结构就是数组,可是.net framework不支持控件数组,通过查找资料,找到一种方法模拟控件数组:使用CollectionBase类,该类提供了一个抽象的强类型集合的基类.我们可以用它来实现我们的控件数组。控件数组中可以包含任意数量的控件。

◆呈现ASP.NET服务器控件:还原表单中有线条等表单元素没有对应的服务器标准控件,需要通过编程方式控制ASP.NET服务器自定义控件的呈现;这里使用的关键类是HtmlTextWritter:不仅可以编写HTML内容和文本,在把HTML内容呈现到请求客户端时,它还提供了格式化的能力,包括标记管理、为HTML内容添加样式等。

【编辑推荐】

  1. ASP.NET服务器控件开发之复合控件
  2. ASP.NET 2.0服务器控件开发的基本概念
  3. ASP.NET服务器控件之生命周期浅析
  4. ASP.NET服务器端控件CheckBoxList
  5. ASP.NET服务器控件的优化选择
责任编辑:老杨 来源: 互联网整理
相关推荐

2009-08-01 12:00:15

ASP.NET服务器自ASP.NET服务器ASP.NET

2011-05-19 10:16:27

ASP.NET

2009-08-06 17:13:56

ASP.NET自定义控

2009-07-28 09:32:41

ASP.NET自定义控

2009-08-10 14:16:59

ASP.NET自定义控

2009-07-31 10:23:09

ASP.NET源码DateTimePic

2011-04-19 10:33:16

ASP.NET自定义控

2009-08-06 09:18:01

ASP.NET自定义控ASP.NET控件开发

2009-08-04 13:10:05

ASP.NET服务器控

2009-08-10 14:08:15

ASP.NET服务器控ASP.NET组件设计

2009-08-03 18:00:00

ASP.NET服务器控

2011-07-12 15:17:02

ASP.net服务器控件

2009-08-04 17:18:37

2009-08-10 14:25:33

ASP.NET服务器控

2009-07-30 16:52:38

复合控件ASP.NET服务器控

2009-08-05 17:58:53

自定义集合ASP.NET 2.0

2009-08-06 17:52:45

ASP.NET控件开发自定义控件

2009-08-04 13:39:43

ASP.NET 2.0

2009-07-27 12:56:27

控件CheckBoxLASP.NET服务器

2009-08-04 15:13:38

点赞
收藏

51CTO技术栈公众号