当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET网站聊天室的设计与实现(第3节)

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

南京财经大学专接本,非凡的杰茜,停车之神视频

大家都玩过网站聊天室吧,那知道它是怎么实现的吗?
今天我们就来设计一个网站聊天室,用户输入用户名登陆聊天室,采用框架结构实现。
学习内容:
第一步,聊天室首页与简单计数器设计
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"]); 
 }
}

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。

运行效果图

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网