c# get set 覆盖母版页中的用户

c# get set overwrite user in masterpage

在我的 MasterPage 中使用 c# 使用 get set 属性 以便能够检索每个人的电子邮件地址访问该网站的用户:

    public static string TheObjectPropertyEmail { get; private set; }    

    ...

    TheObjectPropertyEmail = reader["Email"].ToString();

在页面 Default.asp.cs 中使用 MasterPage 恢复每个访问该网站的用户的电子邮件地址:

Mp.TheObjectPropertyEmail

但我已经尝试过,如果访问是由使用电子邮件 foo@foo.com 的用户执行的,并且几秒钟后使用电子邮件 [=] 的用户进行访问=29=]foo2@foo.com (当代访问)这第二次访问覆盖了 foo@foo.com 的第一次访问和显示上次访问该网站...

如何解决这个问题?

我做错了什么?

你能帮帮我吗?

编辑#01

public static class MailContainer
    {
        public static string TheObjectPropertyEmail
        {
            get
            {
                return HttpContext.Current.Session["TheObjectPropertyEmail"].ToString();
            }
            private set
            {
                HttpContext.Current.Session["TheObjectPropertyEmail"] = value;
            }
         } 
    }

  MailContainer.TheObjectPropertyEmail = reader["Email"].ToString();

你必须创建一个 public static class 来访问变量。 无法访问 MasterPage 中的 TheObjectPropertyEmail,因为 MasterPage class 不是静态的。

namespace xxxxx
{
    public static class MailContainer
    {
        public static string TheObjectPropertyEmail
        {
            get
            {
                return HttpContext.Current.Session["TheObjectPropertyEmail"].ToString();
            }
            set
            {
                HttpContext.Current.Session["TheObjectPropertyEmail"] = value;
            }
         } 
    }
}

使用:

xxxxx.MailContainer.TheObjectPropertyEmail