-4

我想做一个简单的聊天应用程序。我使用了以下链接 http://www.codeproject.com/Articles/17617/Create-a-Chat-System-using-Ajax-and-ASP-NET

编写以下代码后,可以重定向到 chat.aspx 页面

       protected void btnJoin_Click(object sender, EventArgs e)
        {
            if (getUser(txtUserName.Text, txtPassword.Text))
            {
                if(c.CheckUser(txtUserName.Text))
                {
                   // lblError.Text = "You are in the chat room already!";
 Session["UserName"] = txtUserName.Text;
                    Response.Write("<script language=\"javascript\">" + "\n");
                    Response.Write("window.open(\"Chat.aspx\",\"chat\",\"width=800\",\"height=600\",\"toolbar=no\",\"menubar=no\")" + "\n</script>");
                }
                else
                {
                    c.AddCustomer(txtUserName.Text);
                    cc.joinRoom(txtUserName.Text);
                    Session["UserName"] = txtUserName.Text;
                    Response.Write("<script language=\"javascript\">" + "\n");
                    Response.Write("window.open(\"Chat.aspx\",\"chat\",\"width=800\",\"height=600\",\"toolbar=no\",\"menubar=no\")" + "\n</script>");
                    //Response.Redirect("Chat.aspx");
                }
            }
            else
            {
                lblError.Text = "Login Failed";
            }
        }

但是我可以在右侧面板中反复看到用户的名称...如果两个用户在线,则应该只显示两个用户的名称,但我可以多次看到同一用户的名称

4

1 回答 1

0

我在 CustomerManagement.cs 中进行了更改,现在它可以工作了

 public void AddCustomer(string sUser)
        {
            string cAddText = "<STRONG>" + sUser + "</STRONG>";
            if (CheckUser(sUser)==false)
            {
                cArray.Add(cAddText);
            }

            if (cArray.Count > 200)
            {
                cArray.RemoveRange(0, 10);
            }
        }
于 2013-02-12T10:42:37.373 回答