none
如何在很多页面验证session RRS feed

  • 问题

  • 项目有前台 有后台,
    后台需要登录,有很多页面,怎样验证session,通常或简便的方法怎么做?
    2010年8月19日 7:24

答案

  • 建立一个类,假设该类叫做PageBase,PageBase类继承System.Web.UI.Page类,重写OnLoad事件,在OnLoad事件里判断session是否存在

    using System;

    using System.Web.UI;

    public class PageBase : Page

    {

        //重写Page基类的OnLoad事件方法

         protected override void OnLoad(EventArgs e)

         {

            base.OnLoad(e);

            if (Session["LOGIN_FLAG"] == null)

            {

                Response.Redirect("Login.aspx");

             }

         }

    }

    在网站中新建页面,你会发现

    public partial class _Default : System.Web.UI.Page
        {

    每张页面都继承了 System.Web.UI.Page

    将它修改为继承PageBase

    public partial class _Default :PageBase
        {

    这样就可以了

    • 已建议为答案 Amo Xu 2010年8月19日 9:24
    • 已标记为答案 yzjiujian 2010年8月22日 1:43
    2010年8月19日 7:43
  • 一般都是这个做法

    做个通用类,继承page或control

    每个页面或控件再继承这个类

    • 已标记为答案 yzjiujian 2010年8月22日 1:43
    2010年8月19日 9:18

全部回复

  • 建立一个类,假设该类叫做PageBase,PageBase类继承System.Web.UI.Page类,重写OnLoad事件,在OnLoad事件里判断session是否存在

    using System;

    using System.Web.UI;

    public class PageBase : Page

    {

        //重写Page基类的OnLoad事件方法

         protected override void OnLoad(EventArgs e)

         {

            base.OnLoad(e);

            if (Session["LOGIN_FLAG"] == null)

            {

                Response.Redirect("Login.aspx");

             }

         }

    }

    在网站中新建页面,你会发现

    public partial class _Default : System.Web.UI.Page
        {

    每张页面都继承了 System.Web.UI.Page

    将它修改为继承PageBase

    public partial class _Default :PageBase
        {

    这样就可以了

    • 已建议为答案 Amo Xu 2010年8月19日 9:24
    • 已标记为答案 yzjiujian 2010年8月22日 1:43
    2010年8月19日 7:43
  • 一般都是这个做法

    做个通用类,继承page或control

    每个页面或控件再继承这个类

    • 已标记为答案 yzjiujian 2010年8月22日 1:43
    2010年8月19日 9:18