我如何以列表视图显示网站中的多个会话?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何以列表视图显示网站中的多个会话?相关的知识,希望对你有一定的参考价值。

[当用户登录该网站时,我正在开发该网站,使用此代码可以获取用户的会话:

protected void ButtonLogin_Click(object sender, EventArgs e)
 
    Session["LoggedIn"] = UsernameTXT.Text;
 ....

然后我有了一个“卡”,其中显示了在我的Global.asax文件中设置的“在线用户”总数:

void Application_Start(object sender, EventArgs e) 

    Application["OnlineUsers"] = 0;


void Session_Start(object sender, EventArgs e) 

    Application.Lock();
    Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1;
    Application.UnLock();
    Session.Timeout = 8;


void Session_End(object sender, EventArgs e) 

    Application.Lock();
    Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1;
    Application.UnLock();
    

因此,为了显示已登录的用户,我的OnlineUsers.aspx.cs文件中包含以下内容:

 protected void Page_Load(object sender, EventArgs e)

    try
    

        SqlConnection con = new SqlConnection(@"My Connection String");
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT first_name, last_name, email, user_name FROM tbl_um_user WHERE user_name = '"+ Session["username"].ToString() + "'", con);
        cmd.CommandType = CommandType.Text;
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds, "ss");
        GridViewOnline.DataSource = ds.Tables["ss"]; 
        GridViewOnline.DataBind();
    
    .......

这很好用,但是当另一个用户登录时,则不会按照上述方式显示该用户的信息。

我在这里有关于Stack Overflow的其他各种文章,有些建议您需要将会话保存在数据库中并从中检索?我可能是错的,但是每次用户登录时它都不会创建新的会话吗?那么,我当然可以显示它了?以及如何将会话保存在数据库中? (对不起所有问题:-))

任何指导,解释或帮助将不胜感激。

谢谢

答案
 SqlCommand cmd = new SqlCommand("
 SELECT first_name
      , last_name
      , email
      , user_name   
      FROM tbl_um_user 
      WHERE user_name = '"+ Session["username"].ToString() + "'", con);

以上是关于我如何以列表视图显示网站中的多个会话?的主要内容,如果未能解决你的问题,请参考以下文章

多个ListViews在android中以编程方式创建

从 Uipopovercontroller 列表视图内容调用多个视图

ipad如何在一个视图上以编程方式创建多个表

如何优化多表连接视图以获得更快的响应?

使用 Jquery 从 Razor 视图中的网格表中以模态显示整个字典

如何在 Laravel 5 中的视图模板上显示会话数据