我就是单纯的小程序员~~~
目的: 实现用MasterPage中的.cs文件 代替项目中的PageBase。动机: 写这篇文章的动机,来自于一次项目重构。在.Net Framwork 2.0的B/S架构项目中同时采用PageBase和MasterPage技术,发现每次访问页面,页面同时访问PageBase和MasterPage,不仅造成性能降低,甚至有可能给日后的项目功能扩充和调整带来逻辑错误隐患。技术环节: PageBase:.Net Framework 1.1 中经常使用的一种封装多个页面相同功能的技术。PageBase.cs类继承自System.Web.UI.Page类,项目中的Web页面继承自PageBase.cs类,通过重写基类中的页面初始化方法,实现调用PageBase中的业务功能,例如:url参数验证,保存访问量等功能(具体实现方式参见微软官方例子duwamishi)。 MasterPage:.Net Framework 2.0 中新特性,物理上包括两个文件,分别是:.Master文件(html标记),.cs文件(C#代码)。.Master文件实现显示层绘制,.cs文件实现具体功能。继承自MasterPage的Web页面可以继承MasterPage中的显示层内容。绘制通用的页头页脚,定制统一的布局,MasterPage是不错的选择。模拟需求: 用MasterPage技术,代替PageBase,实现地址栏参数验证。简单的做个解释吧,数据库中Login表信息如下图: 登录系统之后,url地址栏中带有参数,如下:http://localhost:3730/MasterPageBaseDemo/TestPage.aspx?id=1001此时用户手动修改url地址栏中参数为:http://localhost:3730/MasterPageBaseDemo/TestPage.aspx?id=1002被视为非法操作,系统将自动跳转回登录页面。第一次代码迭代:
posted on 2006-11-02 21:46 老刘. 阅读(1105) 评论(9) 编辑 收藏 网摘 所属分类: 重构
写的相当不错. 回复 引用
@yaosansi[匿名] 感谢yaosansi支持:) 回复 引用 查看
很好,支持老刘 回复 引用 查看
@姜川 感谢老姜来凑热闹。哈哈。 回复 引用 查看
我觉得还是分开好一点,感觉masterpage主要还是负责界面上的抽象,pagebase负责逻辑方面的,这样会明晰一点。 回复 引用 查看
@LJM 也没有一个严格的界定,哪个顺手就用哪个。 之所以在masterpage中做功能,是因为怕造成业务逻辑的混乱。 回复 引用 查看
受到启发。 回复 引用
@zzzzz 希望有所帮助:) 回复 引用 查看
我也觉得masterpage只负责界面,pagebase负责逻辑要好一些。 回复 引用 查看
昵称: [登录] [注册]
主页:
邮箱:(仅博主可见)
验证码: 看不清,换一个
评论内容:
登录 注册
[使用Ctrl+Enter键快速提交评论]