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();
}
}
正文
.net_Ajax聊天室项目系列解读(Defalut.aspx.cs)2008-10-31 17:31:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/yzrj/39182.html
阅读(2129) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论