• 有关httpContext.Current.Session[值] 取值的问题


      我今天在公司做一个导师提交寄语的功能,说白了就是一个导师第一次进入是没有寄语的,然后就添加修改寄语;当然这个就牵扯到cs与前台的交互,我是通过Handler来实现的

    因为要修改他的寄语所以就要根据他的ID进行修改,但是,一般公司的项目都是把用户登陆之后的资料保存在session里面;所以根据ID就要获取ID这个是毫无疑问的,我一开始总是

    获取不到ID,也就是在cs文件里面获取不到我要的ID,我的获取方式是这样子:string uid = HttpContext.Current.Session[UserSessionPolicy.SESSION_USERID] as string;

    说明一下这个”UserSessionPolicy.SESSION_USERID“,其中“UserSessionPolicy”是一个专门用来保存用户信息的类,当然也同时保存了用户ID也就是代码里的“SESSION_USERID”。在我点击提交按钮时回报一个这样的错”未将对象引用实例“,大家肯定会想就是没有实例化吗?是没错,就是没有实例化,但是在Handler里面如何实例化

    Session呢,大家知道session是一个作用域,用来保存状态的,所以在Handler里面一定要引用一个命名空间进来,之前我遇到这个问题

    好头痛,今天把他给解决了。今天就把心德写在这里,和大家一起分享,希望以后有网友遇到同样类似的问题提供一点小小的帮助。

       我这这例子是导师寄语要用到ID,是不是其他要用到ID的都可以这样做呢?一般来说通过Handler来处理数据的那个类都要引用“using System.Web.SessionState;”这个命名

    空间,然后那个类就继承“IReadOnlySessionState”。比如以下例子:

    代码
    <%@ WebHandler Language="C#" Class="TeacherInfoHandler" %>

    using System;
    using System.Web;
    using com.rrs.baby.business.Information;
    using com.rrs.core;
    using System.Web.Script.Serialization;
    using System.Web.SessionState;//用要到session保存的ID
    using System.Collections;


    public class TeacherInfoHandler : IHttpHandler, IReadOnlySessionState
    {
    //方法体
    }

    在这个TeacherInfoHandler类里面就可以用session保存的值了。

  • 相关阅读:
    位运算符的含义与使用
    第三次作业
    软件工程作业二
    大学对于专业的规划
    简要概述java内存模型,以及volatile关键字
    Spring详细教程
    java线程中yield(),sleep(),wait()区别详解
    利用kubeadm快速搭建Kubernetes学习环境
    vue 使用el-time-picker,把数组拆分成单个属性
    Vue+docxtemplater导出到word(包含批量转出图片)!!!
  • 原文地址:https://www.cnblogs.com/axinno1/p/1657280.html
Copyright © 2020-2023  润新知