利用ASP.NET服务器端自定义控件实现XML文件中还原表单
使用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内容添加样式等。
下一篇:.NET概观 >>
相关文章:
- · Asp.Net(C#)+Sql Server三层架构下数据存取方案(三)
- · Asp.Net(C#)+Sql Server三层架构下数据存取方案(二)
- · Asp.Net(C#)+Sql Server三层架构下数据存取方案(一)
- · 在asp.net中使用excel模板
- · 关于ASPNET在IIS一些问题的经验总结
- · 认识Whidbey
- · 小程序构成大项目之——分页显示
- · ASP.NET 数据库缓存依赖
- · Global.asax 和 HttpApplication 类
- · 办公自动化系统公文归档代码
- · Asp.net性能优化总结(一)
- · 如何在DataGrid里面产生滚动条而不滚动题头
- · Whidbey中客户端回调机制(三)
- · Whidbey中客户端回调机制(二)
- · Whidbey中客户端回调机制(一)
- · ASP.NET分页组件 0.1.0
- · INI文件的操作(ASP.NET+C#)
- · Asp.net+Xml开发网络硬盘
- · ASP.NET高级应用(3)
- · ASP.NET高级应用(2)
- · ASP.NET高级应用(1)
- · Net 是未来的趋势, 为什么?
- · 迁移到 ASP .NET:需考虑的重要问题
- · ASP+与VB.Net问答QA总汇
- · 基于.NET的Web应用框架构建模式
- · Observer模式深度探索
- · VSS控制存储过程,及其asp.net的远程调试
- · 简介使用ASP.NET访问Oracle数据库的方法
- · ASP.NET编程中的十大技巧
- · ASP.NET Whidbey中personalization和membership的一些特征
- · 使用更精简的代码保证 ASP.NET 应用程序的安全
- · ASP.NET Whidbey 中新的代码编译功能
- · ASP.NET的缓存技术
- · ASP.net 中的页面继承实现和通用页面的工厂模式的实现
- · ASP.NET下MVC设计模式的实现
- · 页面无限跳转间如何保存页面状态 (3)
- · 页面无限跳转间如何保存页面状态(2)
- · 页面无限跳转间如何保存页面状态(1)
