ASP.NET用MasterPage代替PageBase技巧 - qqread.com
时间:2010-09-17 来源:蔚蓝的大海
- 阅读排行榜
- 收藏此文
- 收藏本站
- 设为首页
- C#.NET
- VB.NET
- VC.NET
- ASP.NET
- J#.NET
ASP.NET用MasterPage代替PageBase技巧
巧巧读书 2009-06-13 qqread 佚名 技术论坛 大 中 小 下一页12345目的:
实现用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,实现地址栏参数验证。
简单的做个解释吧
登录系统之后,url地址栏中带有参数,如下:
http://localhost:3730/MasterPageBaseDemo/TestPage.aspx?id=1001
此时用户手动修改url地址栏中参数为:
http://localhost:3730/MasterPageBaseDemo/TestPage.aspx?id=1002
被视为非法操作,系统将自动跳转回登录页面。
第一次代码迭代:
1.参照传统PageBase方法:
传统的Page做法为:
public class PageBase : System.Web.UI.Page
{
public PageBase()
{
}
/**//// <summary>
/// 入口方法
/// </summary>
protected void Initialize()
{
// 插入通用业务逻辑
}
}
Web页面:
public partial class TestPage : PageBase
{
// 传统的调用PageBase的方法
/**///// <summary>
/// 重写基类OnPreInit() 方法,调用通用验证方法
/// </summary>
/// <param name="e"></param>
protected override void OnInit(eventargs e)
{
base.Initialize();
}
}
- (9305篇文章)Office技巧专区
- (8684篇文章)网管实用技巧100例
- (8165篇文章)ADO.NET实用技巧
- (7318篇文章).NET移动与嵌入式技术
- (6936篇文章).NET开发手册
下一个话题:asp.net水晶报表中实现关联主表和子表
本类最热图文
巧巧读书图文推荐- 关于ASP.NET动态加载Master页面
- 遍历aspx页面中所有的指定控件
- Web.config中注册用户控件和自定义控件
- ASP.NET页面的编码问题
- ASP.NET 如何在网页中获取根目录
- asp.net实现51job地区选择效果
- ASP.NET MVC中实现多个按钮提交的几种方法
- Asp.Net大型项目实践:如何进行权限判断
一周阅读排行
>>更多排行- (0次浏览)触发gridview的行选择事件
- (0次浏览)ASP.NET常见错误大全
- (0次浏览)利用web服务实现自动完成输入
- (0次浏览)ASP.NET页面事件执行顺序
- (0次浏览)详解Asp.net MVC DropDownLists
- (0次浏览)ASP.NET 4中的SEO改进
- (0次浏览)Visual Studio2010中ASP.NET4的SEO改进
- (0次浏览)ASP.NET Session造成请求阻塞现象
- ASP.NET 2.0中Gridview控件高级
- asp.net ajax 使用updatepanel更
- 关于ASP.NET技术的学习顺序问题
- 网络编程ASP.NET的几个技巧
- ASP.NET跨页面传值技巧总结
- ASP.NET 2.0 新追加控件FileUplo
- ASP.NET中通过对话框方式下载文
- Asp.net中实现单点登陆
- 初学C#+ASP.NET+Oracle备忘录