您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp.net >> 正文

利用ASP.NET服务器端自定义控件实现XML文件中还原表单

作者:作者:未…    信息学院来源:网络收集    点击数:    更新时间:2006-8-28 我要参与讨论

  最近在公司从事的一项web表单的还原,采用ASP.NET的服务器端自定义控件还原表单,其中涉及到的许多自定义控件的技术要点对于每一个自定义的服务器端控件具有普遍性,现将各个技术要点向各位简要介绍,源代码不能提供(涉及公司利益)。

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

1、 读XML文件

2、 复合控件

3、 控件数组

4、 编程方式控制控件的各种属性。

5、 呈现HTML方法

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

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

² 服务器控件的生命周期:

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

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

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

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

在google里搜索更多利用ASP.NET服务器端自定义控件实现XML文件中还原表单

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明