0

我正在用三种类型的用户在 ASP.NET MVC 中编写一个应用程序:学生、员工和管理员。

学生必须能够选择和申请由管理员设置的课程。程序按术语分开:夏季、秋季和春季,它们保存在程序表中称为“术语”的数据库字段中。

我希望管理员能够设置期限,因此当用户(学生和员工)登录时,他们只能查看仅适用于该期限的程序。问题是我无法将其保存在数据库中,因为我的数据库具有诸如 StaffProfile(检索管理员和员工的用户名和密码)和程序(包含每个程序的信息)之类的表,并且仅针对该术语的新表不会成为一个理想的解决方案。

我想将术语变量保存在某个地方,它可以在全局范围内访问,并且在应用程序结束时不会被销毁。

也许这有一个我看不到的简单解决方案。我已经考虑过 ApplicationState 但我不确定这是否是要走的路。欢迎任何想法。

4

1 回答 1

0

根据我对你的问题的理解。您可以将全局变量存储在 web.config 或 global.asax 文件中。你也可以使用会话。通过静态声明静态类,您还有另一种选择。喜欢

public static class GlobalVariables
{
    // readonly variable
    public static string Foo
    {
        get
        {
            return "foo";
        }
    }

    // read-write variable
    public static string Bar
    {
        get
        {
            return HttpContext.Current.Application["Bar"] as string;
        }
        set
        {
            HttpContext.Current.Application["Bar"] = value;
        }
    }
}

如果我错了,请纠正我。

于 2013-04-14T14:19:35.903 回答