using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Text;public partial class _Default : System.Web.UI.Page{ //获取当前在线用户的列表 protected void Timer2_Tick(object sender, EventArgs e) { StringBuilder sb = new StringBuilder("<ul>", 300);//输出的字符串对象 foreach (ChatUser user in Room.Instance.GetAllUsers())//遍历每个在线用户,构造出字符串 { string temp = Server.HtmlEncode(user.Name);//编码 sb.Append("<li><a href=\"#\" onclick=\"javascript:document.getElementById('mtowho').value='" + temp + "';\">" + temp + "</a></li>"); } sb.Append("</ul>"); UserList.InnerHtml = sb.ToString(); } //获取聊天消息 protected void Timer1_Tick(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(3000);//聊天消息的字符串表示 foreach (Msg chatMessage in Room.Instance.GetAllMessages())//遍历所有消息,分别添加 { string UserName = Server.HtmlEncode(chatMessage.UserName);//账号 string Message = Server.HtmlEncode(chatMessage.Message);//信息 string OtherName = Server.HtmlEncode(chatMessage.OtherName);//接收者账号 string Color = Server.HtmlEncode(chatMessage.Color);//信息的颜色 string DateTime = Server.HtmlEncode(chatMessage.DateTime.ToLongTimeString());//发送时间 string Img = Server.HtmlEncode(chatMessage.Img);//表情符号 sb.Append("<font color=\"#FF0000\">" + DateTime + "</font>"); sb.Append(" [<font color=\"#663300\">" + UserName + "</font>] 对 [<font color=\"#663300\">"); sb.Append(OtherName + "</font>] 说:"); string msg = Message; if (chatMessage.Color != "") msg = "<font color=\"" + chatMessage.Color + "\">" + msg + "</font>"; if (chatMessage.IsBold == "1") msg = "<b>" + msg + "</b>"; if (chatMessage.IsBold == "2") msg = "<i>" + msg + "</i>"; if (Img != "") sb.Append("<img src=face/" + chatMessage.Img + ">"); sb.Append(msg); sb.Append("<br/>");//一条消息的字符串构造完成 } ChatContent.InnerHtml = sb.ToString(); } //发送聊天消息 protected void Button2_Click(object sender, EventArgs e) { string message = UserInputTextBox.Value;//消息 string userName = User.Identity.Name;//用户名 string othername = mtowho.Value;//发送对方的账号 string color = mfcolor.Value; //消息颜色 string img = elist.Value;//表情图表 string isbold = mfont.Value;//是否黑体或斜体 Room.Instance.SendMessage(userName, othername, message, isbold, color, img);//发送 UserInputTextBox.Value = ""; UserInputTextBox.Focus(); } //更新用户在线时间 protected void Timer3_Tick(object sender, EventArgs e) { string userName = User.Identity.Name;//账号 Room.Instance.GetUser(userName).Update(); }}

评论