0

我正在尝试将一个类存储为会话变量。

我有一个名为“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”需要对象引用

4

0 回答 0