程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 有關httpContext.Current.Session[值] 取值的問題

有關httpContext.Current.Session[值] 取值的問題

編輯:ASP技巧

 我今天在公司做一個導師提交寄語的功能,說白了就是一個導師第一次進入是沒有寄語的,然後就添加修改寄語;當然這個就牽扯到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保存的IDusing System.Collections;public class TeacherInfoHandler : IHttpHandler, IReadOnlySessionState{         //方法體}
在這個TeacherInfoHandler類裡面就可以用session保存的值了。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved