欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET网站聊天室的设计与实现(第3节)

程序员文章站 2023-12-21 08:05:10
大家都玩过网站聊天室吧,那知道它是怎么实现的吗? 今天我们就来设计一个网站聊天室,用户输入用户名登陆聊天室,采用框架结构实现。 学习内容: 第一步,聊天室首页与简单计...

大家都玩过网站聊天室吧,那知道它是怎么实现的吗?
今天我们就来设计一个网站聊天室,用户输入用户名登陆聊天室,采用框架结构实现。
学习内容:
第一步,聊天室首页与简单计数器设计
1、打开vs2008。在“解决方案‘101'下新建网站,命名为chatroom.默认首页文件为default.aspx。
2、为default.aspx添加窗体控件,切换到“设计”视图,从左侧工具箱标准组中拖出2个lable控件,1个textbox控件,一个button控件,最后给输入昵称的textbox文本添加必填验证。
在“设计”视图中双击btn1按钮,在default.aspx.cs中编写如下事件代码:

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");

 
 } 
 }
}

第二步,构建登录字符串与发言字符串
1、创建chat.aspx页面文件,使用如下html语言可以编写分框架页面程序,把一个窗口分成两半。左半窗口用来存放输入发言内容的页面文件inputwin.aspx,右半窗口用来存放显示聊天内容的页面文件showwin.aspx。
2、构建登录消息字符串。在chat.aspx.cs的page_load事件中编写代码如下:

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按钮(发言按钮),最后添加验证控件。
在“设计”视图中双击btn1(发言)按钮,在inputwin.aspx.cs文件的btn_click事件中编写代码如下:

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"]); 
 }
}

ASP.NET网站聊天室的设计与实现(第3节)

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。

运行效果图

ASP.NET网站聊天室的设计与实现(第3节)

总结
    设计网站聊天室,听起来就好像是已经进入到了网站制作这个环节,看到自己设计的一个功能很简单的聊天室,有一点点的成就感,虽然这只是万里长城的第一步。通过这次学习理解到了session与application的各自作用,学会了如何使页面分成两个窗口,如何找到正确的事件进行编写,总体来说对网页设计有了一些感觉,希望大家也能喜欢,试着设计一个属于自己的网站聊天室吧

上一篇:

下一篇: