zoukankan      html  css  js  c++  java
  • 收拾那掉了一地的session

    多个页面有如下多个session,本来可能是如下面这样的

    Session["UId"] = 10;
    Session["UName"] = "test";
    Session["PicId"] = 10;
    Session["IsTed"] = false;
    

     这样比较不方便管理。看起来也乱,可以先建一个Model,把要用到的属性都放进去,再保存到model里。要用的时候直接从model里点一下就取出来了。如下面

    //建一个用于存session的model,这个一般放在model层中
    public class UserInfoModel
    {
        public int UId{get;set;}
        public string UName{get;set;}
        public string PicId{get;set;}
        public bool IsTed{get;set;}
    }
         
    //我一般会建一个PageBase.cs作为基类,把以下放进去,所有页面都继承这个类,然后在这里作身份验证,
    //保存初始化时把用户登录的一些基本信息等等。
         
    //从数据中读取以下数据保存到session中
    if(Session["UserInfoModel"] == null)
    {
        UserInfoModel userInfoModel = new UserInfoModel();
        userInfoModel.UId = 10;
        userInfoModel.UName = "test";
        userInfoModel.PicId  = 10;// Get..
        userInfoModel.IsTed = false;
        Session["userInfoModel"] = userInfoModel;
    }
         
    //使用,先把Session转回去。这边用as转换避免出错。
    UserInfoModel userInfoModel = Session["userInfoModel"] as UserInfoModel;
         
    if(userInfoModel != null)
    {
        //比如给页面上的一个label赋值
        this.lblUserName.Text = userInfoModel.UserName;
        //...
    }
    
  • 相关阅读:
    AJAX请求头Content-type
    原 layer父子页面交互
    layer.closeAll()无法关闭弹窗的解决办法之一
    成员函数的重载,覆盖与隐藏
    const限定符用法汇总
    构造函数和析构函数的调用时机
    MFC 消息映射、分派和传递
    C++对象模型
    函数指针与虚函数表
    数据类型与内存映像
  • 原文地址:https://www.cnblogs.com/hsw-2013/p/session.html
Copyright © 2011-2022 走看看