我正在尝试将一个类存储为会话变量。
我有一个名为“SVars.cs”的 App_Code 页面,旨在使用 get 和 set 保存各个页面的所有会话变量。
例如:
public static int Account {
get { return (string)HttpContext.Current.Session["Account"];}
set { HttpContext.Current.Session["Account"] = value; }
}
这使我可以通过以下命令访问帐户:
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”需要对象引用