【问题标题】:List of online users using membership asp.net使用会员 asp.net 的在线用户列表
【发布时间】:2013-01-08 20:21:59
【问题描述】:

我想在我的网站中有一个包含在线用户的列表,我在本地主机中使用此代码,但它没有向我显示任何用户。有谁能够帮我?我哪里弄错了?

  MembershipUserCollection users;


        if (!IsPostBack)
        {
            // Bind users to ListBox.
            List<MembershipUser> onlineUsers = new List<MembershipUser>();
            foreach (MembershipUser user in Membership.GetAllUsers())
            {

                if (user.IsOnline)
                {
                    onlineUsers.Add(user);

                }

            }
            ListBox1.DataSource = users;
            ListBox1.DataBind();

【问题讨论】:

  • 我把它写在我的页面加载中。
  • 是的,我用 2 个浏览器测试它,但不是在互联网上。我是在本地主机上做的。

标签: asp.net asp.net-membership


【解决方案1】:

尝试更改此行:

ListBox1.DataSource = users;

到这里:

ListBox1.DataSource = onlineUsers;

另外不要忘记在 ListBox1 上设置 DataKeyField 和 DataValueField 属性。

【讨论】:

  • 谢谢 有趣的错误!!它有效,但它向我展示了一些离线用户!这很奇怪!
  • 没问题,很高兴为您提供帮助 - “离线”用户问题可能与会话超时有关 - 即,即使用户关闭了浏览器,会话尚未超时,因此仍显示为“在线的”。哦,别忘了将此问题标记为已完成(如果可以的话,请投票给我的答案!)。
  • 我怎样才能消除这个问题。你有什么想法吗?
  • AFAIK 没有“干净”的方法可以做到这一点 - 在堆栈中搜索“ASP.NET Force logout”,你会得到混合的结果,其中一些可能是合适的。
  • 如果我使用 asp.net MVC,我在哪里写这个?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多