📄 chat.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections.Generic;
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 ChatBLL;
using ChatModel;
using AjaxControlToolkit;
public partial class Chat : System.Web.UI.Page
{
int userID = 0; //用户标识
FriendService fs = new FriendService();
MessageService ms = new MessageService();
UserService usc = new UserService();
Label lblName =null;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
ViewState["isPublic"] = 1; //聊天状态
lblTitle.Text = "欢迎来到新语聊天系统,当前在线人数:";
userID = Convert.ToInt32(Session["userID"]);
myInfo();
dlPublicBand();
showFriends();
}
//自己的资料
void myInfo()
{
User us=usc.getFace(userID);
imgFace.ImageUrl = "~/Face/" + us.face.ToString() + ".bmp";
lblUser.Text = us.name;
}
//取出公共信息
void dlPublicBand()
{
dlPublic.DataSource = ms.getPublicMessage();
DataBind();
}
//私人信息
void dlPraviteBand()
{
dlPravite.DataSource = ms.getPrivateMessage(userID);
DataBind();
}
//显示好友
void showFriends()
{
List<FriendType> list = fs.getAllFriendType(); //取出好友类型
for (int i = 0; i < list.Count; i++)
{
AccordionPane ap = new AccordionPane();
Label lblType = new Label();
lblType.Text = list[i].typeName;
int typeID = list[i].ID;
ap.HeaderContainer.Controls.Add(lblType);
List<User> ls = fs.searchMyFridens(userID, typeID); //取出好友头像和昵称
for (int j = 0; j < ls.Count; j++)
{
ImageButton imgFriend = new ImageButton();
imgFriend.ImageUrl = "~/Face/" + ls[j].face.ToString() + ".bmp";
imgFriend.Width = 25;
imgFriend.Height = 25;
imgFriend.AlternateText = ls[j].name;
imgFriend.CommandArgument = ls[j].ID.ToString();
imgFriend.Click += new ImageClickEventHandler(imgFriend_Click);
lblName = new Label();
lblName.Text = " " + ls[j].name + "</br>";
ap.ContentContainer.Controls.Add(imgFriend);
ap.ContentContainer.Controls.Add(lblName);
}
Accordion1.Panes.Add(ap);
}
}
//文本框获得姓名
void imgFriend_Click(object sender, ImageClickEventArgs e)
{
txtFriend.Text = "";
string str = ((ImageButton)sender).AlternateText;
txtFriend.Text = ((ImageButton)sender).AlternateText;
ViewState["friendID"] = Convert.ToInt32(((ImageButton)sender).CommandArgument);
}
//是否启用私聊
protected void chkIsPublic_CheckedChanged(object sender, EventArgs e)
{
if (chkIsPublic.Checked == true)
{
dlPraviteBand();
panPrivate.Visible = true;
ViewState["isPublic"] = 0;
}
else
{
panPrivate.Visible = false;
ViewState["isPublic"] = 1;
}
}
//退出程序
protected void btnExit_Click(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>window.close()</script>");
}
//发信息
protected void btnAccept_Click(object sender, ImageClickEventArgs e)
{
Message m = new Message();
m.fromTo = new User();
m.fromTo.ID = userID;
m.sendTo = new User();
m.sendTo.ID = Convert.ToInt32(ViewState["friendID"]);
m.content = txtContent.Text;
m.timer = DateTime.Now;
m.isPublic = Convert.ToInt32(ViewState["isPublic"]);
ms.addMessage(m);
}
//定时刷新
protected void Timer1_Tick(object sender, EventArgs e)
{
dlPublicBand();
dlPraviteBand();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -