我试图将一个类存储为会话变量。
我有一个名为“SVars.cs”的App_Code页面,旨在使用get和set保存各个页面的所有会话变量。
例如:
public static int Account {
get { return (string)HttpContext.Current.Session["Account"];}
set { HttpContext.Current.Session["Account"] = value; }
}
这允许我通过以下命令访问Account:
SVars.Account = "TestUser";
Test.Text = Svars.Account;
现在,我的问题是,当我将一个Class存储为会话变量时,有没有办法做到这一点?
似乎我可以存储该类,但是如果我使用整个类而不是类中的任何函数或变量,我只能使它工作。因此,一个选项是创建类的新实例然后将其保存。但是,在我的一些页面上,这尤其笨重。
public static myClass Compass {
get { return (myClass)HttpContext.Current.Session["Compass"]; }
set { HttpContext.Current.Session["Compass"] = value; }
}
我希望能够直接访问myClass的成员并影响他们。
像:
SVars.Compass.angle = 34;
SVars.Compass.calculate();
Textbox.Text = "The direction is " + SVars.Compass.direction;
等 但是,当我尝试这个时,我收到一个错误:
非静态字段,方法或属性'SVars.Compass.get'
需要对象引用