如何在全局变量中保存用户名 asp

How to save username in global variable asp

我有在线考试系统我想将用户名保存在全局变量或任何其他可以保存它的东西中。
我想要这个用户名来获取和设置 SQL 数据库中的数据。
我在 class 中使用全局变量,但它会在每次登录时替换。
有什么方法可以为每个用户保存用户名?

 public class GVar
{
    public static string user
    {
        get; set;
    }
    public static string mail
    {
        get;
        set;
    }
    public static string melli
    {
        get;
        set;
    }
    public static bool go
    {
        get;
        set;
    }

    public static System.Threading.Thread thread { get; set; }
}

您可以使用声明。 声明是同一性的。然后您可以在登录操作中进行配置。

视情况使用ApplicationSession。 会话变量是全局的,但仅限于当前会话(为了理解称之为用户)。 应用程序变量在所有会话中全局共享。 因此,以下语句可用于 get/set 应用程序级别的变量

Application["user"] = "abc";     //sets the value at application level
var user = Application["user"];  //gets the value stored at application level

同样,要使其成为全局的,但在会话级别进行隔离,

Session["user"] = "abc";     //sets the value at session level
var user = Session["user"];  //gets the value stored at session level

编辑

为了便于使用,我更喜欢将它们实现为属性,有点像这样:

  1. 使用自定义 getter/setter 属性定义 class,并将其添加到 App_Code 文件夹

    public static class GVar
    {
        public static string user
        {
            get { return Session["GVar_User"]; }
            set { Session["GVar_User"] = value; }
        }
    
        //...
    
    }
    
  2. 在您的应用程序中使用它,就像您通常使用任何其他应用程序一样 属性。

        GVar.user = "abc";      //set value
        var usr = GVar.user;    //get value
    

您可以像这样在登录时保存它:

Session["user"] = "gamesdl";

然后在执行过程中可以这样获取值:

String username = (string)(Session["user"]);