在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
大家都玩过网站聊天室吧,那知道它是怎么实现的吗? public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Application["user_online"] == null) { Application["user_online"] = 0; } Application["user_online"] = (int)Application["user_online"] + 1; Label3.Text = "(现在共有" + Application["user_online"].ToString() + "人在线!)"; } protected void Button1_Click(object sender, EventArgs e) { if (Page.IsPostBack) { Session["User_name"]=this.Txt1.Text; Response.Redirect("chat.aspx"); } } } 第二步,构建登录字符串与发言字符串 protected void Page_Load(object sender, EventArgs e) { string user_name = (string)Session["user_name"]; string sayStr = "来自" + (string)Request.ServerVariables["REMOTE_ADDR"] + "的"; sayStr = sayStr + "<b><font color=red>" + user_name + "</font></b>"; sayStr = sayStr + "于" + DateTime.Now + "大驾光临"; Application.Lock(); Application["show"] = sayStr + "<br>" + Application["show"];I=I+1 Application.UnLock(); } 3、构建发言内容字符串。创建输入发言内容的页面文件Inputwin.aspx。为页面Inputwin.aspx添加控件,这里使用两个DropDownList下拉列表框控件,分别用来选择发言人的性别和心情,一个单行Textbox控件(对谁说);一个多行Textbox控件(发言内容);一个Button按钮(发言按钮),最后添加验证控件。 protected void Button1_Click(object sender, EventArgs e) { if (Page.IsPostBack == true) //页面数据回传 { String ssex, emotion, who; ssex = DropDownList1.SelectedItem.Value; //获取性别 emotion = DropDownList2.SelectedItem.Text + "的"; //获取发言时表情 who = "对" + "<b>" + TextBox2.Text + "</b>"; //获取对谁说 //构建发言字符串: String sayStr = "<font size='3' color='00ff00'><b>" + (string)Session["user_name"]; sayStr = sayStr + ssex + "</b></font>在" + DateTime.Now + emotion + who + " 说:"; sayStr = sayStr + TextBox3.Text; Application.Lock(); Application["show"] = sayStr + "<br>" + (string)Application["show"]; Application.UnLock(); TextBox3.Text = "";// 将发言框清空 } } 4、创建显示发言字符串和发言内容的页面文件(Showwin.aspx),实现代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>无标题页</title> <meta http-equiv="refresh" content="4"/> </head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html> 在Showwin.aspx.cs的Page_Load事件中编写代码如下: public partial class showwin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write((string)Application["show"]); } } 5、为离开聊天室页面的Exit.aspx.cs文件编写代码如下: protected void Page_Load(object sender, EventArgs e) { string sayStr = "<b>" + (string)Session["user_name"] + "</b>"; sayStr = sayStr + "于" + DateTime.Now + "离开聊天室了"; sayStr = "<font color='green'>" + sayStr + "</font>"; Application.Lock(); Application["show"] = sayStr + "<br>" + (string)Application["show"]; Application["user_online"] = (int)Application["user_online"] - 1; Application.UnLock(); Response.Redirect("chatroom.aspx"); } 6、运行聊天室首页Default.aspx。 运行效果图 总结 |
请发表评论