c#在母版页中设置覆盖用户

c#在母版页中设置覆盖用户,c#,setter,getter,C#,Setter,Getter,在c#中的my母版页中,使用的get set属性可以检索访问网站的每个用户的电子邮件地址: public static string TheObjectPropertyEmail { get; private set; } ... TheObjectPropertyEmail = reader["Email"].ToString(); 在带有母版页恢复的页面Default.asp.cs上,通过以下方式访问网站的每个用户的电子邮件地址: Mp.TheObjec

在c#中的my母版页中,使用的get set属性可以检索访问网站的每个用户的电子邮件地址:

    public static string TheObjectPropertyEmail { get; private set; }    

    ...

    TheObjectPropertyEmail = reader["Email"].ToString();
在带有母版页恢复的页面Default.asp.cs上,通过以下方式访问网站的每个用户的电子邮件地址:

Mp.TheObjectPropertyEmail
但我尝试过,如果访问是由用户通过电子邮件执行的foo@foo.com几秒钟后,用户通过电子邮件进行访问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();

必须包装一个公共静态类才能访问变量。 无法访问母版页中的Object Property邮件,因为母版页类不是静态的

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


在这种情况下,对象属性邮件不应该是静态的…谢谢,我需要删除公共静态字符串上的静态属性?我不明白抱歉…为什么对象属性邮件是静态的?静态意味着该变量只有一个实例。也许你需要每个用户都有这个变量,而不是静态的。您可能需要为每个用户指定一个类,并且在该类中包含该类所代表的用户的电子邮件属性。@ShayK我已尝试在该方法上删除stati,但出现错误CS0120:非静态字段、方法或属性需要对象引用。请等待答复。请参见我第一个问题中的编辑01。我有此错误。由于集合访问器不可访问,因此无法在此上下文中使用属性或索引器
xxxxx.MailContainer.TheObjectPropertyEmail