zqwuwei的技术博客

理论指导实践,在实践中更好的理解理论
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

利用Aspx和ascx文件实现的模块化编程和生成静态页

Posted on 2011-11-16 15:34  zqwuwei  阅读(259)  评论(0编辑  收藏  举报

我在这里要介绍一种利用aspx和ascx来实现的模版生成技术,而模版语言就是C#。
思路如下:
1. 使用aspx文件作为模版文件。页面不是继承默认的.aspx.cs类,而是继承自自定义的类。
2. 使用ascx文件作为页面的模块。页面不是继承默认的.ascx.cs类,而是继承自自定义的类。
3. 利用反射技术实现根据模版配置信息在模版文件中动态的加载和填充模块(可以通过Page.LoadControl 加载ascx文件)。
4. 生成HTML采用Server.Execute(“xxx.aspx”)。

我们为每个不同功能的模块定义一个类,ascx文件就继承自这些类。这些类中可以加载数据到变量,然后在ascx页面里通过调用这些变量把数据呈现出来。

由于我们aspx和ascx模版文件都是继承自自定义的类,所以我们更换模版风格的时候只需要修改下aspx和ascx文件就可以了,不需要重新编译项目。除非需要添加新的不存在的模块才需要重新编译项目。