正文

.net_Ajax聊天室项目系列解读(Defalut.aspx.cs)2008-10-31 17:31:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/39182.html

分享到:

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();    }}

阅读(2135) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册