传递的页面C#

时间:2018-11-19 13:48:45

标签: c# asp.net

我在与设置位置不同的页面上检索会话变量时遇到问题。会话变量包含一个用户类对象,该对象类包含当前用户的大约15种不同的用户属性。

我需要在所有页面上都可用,并且不想每次我进入页面时都重新查询数据库。在我的default.aspx上,我有以下代码在page_init

上运行
protected void Page_Init(object sender, EventArgs e)
{
    // Get the logged in user id with acct domain (ie. acct05\abc123)
    masterNtId = Request.ServerVariables["LOGON_USER"].ToString();
    // Get the logged in user id (ie. abc123)
    masterNtID_short = masterNtId.Substring(masterNtId.IndexOf("\\") + 1);
    // Get the current page (ie. /PMM/page_name.aspx)

    UserObject user = TheUser.User.SearchUserWhitePages(masterNtID_short);
    Session["UserProfile"] = user;

    //Added to test that session is being set
    UserObject theuser = (UserObject)Session["UserProfile"];
    string name = theuser.get_UserName();

}

它成功返回会话变量。但是,当我在从default.aspx导航的另一页上添加以下代码时,也会出现此错误

  

“发生了类型为'System.NullReferenceException'的异常”

protected void Page_Load(object sender, EventArgs e)
{
    UserObject theuser = (UserObject)Session["UserProfile"];
    string name = theuser.get_UserName();
}

我在aspx页面上设置了EnableSessionState = True。我不确定要忘记做什么。我应该对会话状态变量进行不同的设置吗?

0 个答案:

没有答案