BasePage继承
来源:互联网 发布:java逆波兰表达式 编辑:程序博客网 时间:2024/04/30 10:15
ASP.NET 比起传统ASP网页最大
一 般我们建立一个Web Application后总是会加入许多不同的页面,虽然看上去每个页面都有各自不同的功能,但是仔细瞧瞧你一定会发现每个页面都会有共同的特性或功能, 把这些共同的行为规画在物件导向的继承架构下可以建立更完善的系统模组,我的偶像维克大队长就发生这样的一个故事。
维克大队长又接到新的任务,这次的客户可真是有够难搞。
「我们需要一个报表查询系统,而且每个页面功能都要检查使用者的权限以免有人会在我们的系统上做坏事。」客户这 说。
这简单,只要在每个页面贴上一段检查权限的函式就好了,不过维克大队长选择了更好的方法,他先写了一个继承System.Web.UI.Page的BasePage页面,并且在OnPreLoad事件中加入检查权限的函式。
Example:
public class BasePage : System.Web.UI.Page
{
public BasePage():base()
{
}
protected override void OnPreLoad(EventArgs e)
{
base.OnPreLoad(e);
if (this.ValidatePermission() == false)
{
throw new Exception(“滚吧!!你还没有获得这个页面的授权!!”);
}
}
protected virtual bool ValidatePermission()
{
return false;
}
}
然后在每个后来加上去的功能页面都继承BasePage再复写ValidatePermission()
Example:
public partial class _Default : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
this.DataBind();
}
protected override bool ValidatePermission()
{
If( User.Name == “维克大队长”)
{
return true;
}
else
{
return false;
}
}
}
这样一来只要所有继承
最后维克大队长又漂亮的完成了他的任务。
最后再做一个存取 Session 的实例
一,建好一个项目BasePageDemo并建一个类 BasePage
代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
namespace BasePageDemo
{
public class BasePage:System.Web.UI.Page
{
//取Session值
public static string GetSession(string key)
{
return System.Web.HttpContext.Current.Session[key].ToString();
}
//设置Session 值
public static void SetSession(string key,string str)
{
System.Web.HttpContext.Current.Session.Add(key, str);
}
}
}
二,在以后每个新建的页面都继承应该BasePage类
代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BasePageDemo;
public partial class Default3 :BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
SetSession("UserID", "我要测试");
string value = GetSession("UserID");
Response.Write(value);
}
}
- BasePage继承
- basepage
- BasePage
- 在Web项目开发中使用BasePage类的巧用(继承System.Web.UI.Page)
- asp.net basepage
- 为silverlight页面创建根页面BasePage
- asp.net中使用BasePage判断权限
- Web开发 前台常用方法 BasePage类
- 使用 BasePage 来解决 GridView 执行 RenderControl 产生的错误
- 使用 BasePage 来解决 GridView 执行 RenderControl 产生的错误
- 使用 BasePage 来解决 GridView 执行 RenderControl 产生的错误
- CS0433: 类型“BasePage”同时存在于“c:\Windows\Microsoft.NETxxxxxxxxxxxxxxxx
- Building a Better ASP.NET 1.1 BasePage Framework --By Chase Thomas
- Jsp/Java代码分离.实现页面真正的代码分离 实现框架代码:BasePage,TextBox,BasePageFilter
- HttModule和抽象类BasePage两种方式进行用户身份验证
- Python+Selenium中级篇之9-把截图类方法封装到前面的BasePage.py
- 继承
- 继承
- 猴子分桃子
- Discuz!目录结构
- 操作系统——存储
- 面向对象编程
- 旅行照片剪辑--扬州篇
- BasePage继承
- 破解我吧:一次ELF文件的解构之旅
- Uart_Printf()函数分析
- C#调用Exe
- 流水灯+led显示0-15
- 解决split分割空值不能得到的问题
- oracle表空间和数据文件的管理!
- ibatis优点与缺点
- 从头到尾彻底解析Hash表算法