如何用ASP.NET服务器自定义控件还原表单
创始人
2024-04-23 17:11:16
0

利用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服务器控件的优化选择

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...