统一管理页面的验证——由自定义继承Page基类想到的。 .
2014-01-07 14:51
405 查看
今天在看书的时候,发现一个启示,平时在验证登陆的时候,总是在每个页面都写上Session判断。当页面多了,有改动的时候,就十分麻烦,这时候可以使我们需要验证的页面统一继承一个验证类。由于这个验证每次是在Page_Load事件中进行的。那么这个验证类就应该继承于Page基类。
这个是基本的验证类:
[c-sharp]
view plaincopyprint?
using System.Web;
using System.Web.UI;
using System.Security;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/// <summary>
///BasePage 的摘要说明
/// </summary>
public class BasePage : Page //该类继承自页面最基本的Page类
{
public BasePage()
{
this.Load += new EventHandler(YanZheng); //向该类的Load事件中委托新事件,Yanzheng。
}
protected void YanZheng(object sender, EventArgs e) //验证事件的具体实现方法
{
if (Session["UserName"] == null)
{
Response.Redirect("login.aspx");
}
}
}
[c-sharp] view plaincopyprint? using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class test : BasePage //这里不再继承自Web.UI.Page,而是继承自BasePage。但是BasePage继承自Web.UI.Page,所以子类也继承该类。 { protected void Page_Load(object sender, EventArgs e) { } } using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class test : BasePage //这里不再继承自Web.UI.Page,而是继承自BasePage。但是BasePage继承自Web.UI.Page,所以子类也继承该类。 { protected void Page_Load(object sender, EventArgs e) { } }
我们在页面中不需要添加任何代码,就可以实现验证的功能。因为每一个新页面都继承自BasePage,而又间接继承自Web.UI.Page,并且在Load事件(也就是Page_Load事件)中注册了新事件YanZheng。所以会在Page_Load事件中自动进行验证。
此文抛砖引玉,不仅仅是在类的过程中可以用继承,实现代码的复用。我们最基本的aspx页面也是一个类,继承于基本类Web.UI.Page,所以也可以对aspx页面进行统一的管理,达到代码复用的效果。
相关文章推荐
- 统一管理页面的验证——由自定义继承Page基类想到的。
- asp.net 继承自Page实现统一页面验证与错误处理
- asp.net 继承自Page实现统一页面验证与错误处理
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- ASP.NET 页面基类设计—防止2次提交和事件统一管理
- 继承System.Web.UI.Page的页面基类
- 所有的页面都继承自定义的BasePage,而有一个特殊页面要继承BasePage,但不想执行父类构造函数调用的某些方法,怎么办?
- 自定义继承于Page的基类
- Web页面添加一个基类 BasePage解决登陆验证
- 统一管理页面的验证——Session验证登陆
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- 自定义继承于Page的基类
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类 生命周期
- 如何定义继承自页面基类PhoneApplicationPage 的类
- 继承System.Web.UI.Page的页面基类