SessionA和pplication网上聊天室的网络范例
login.aspx码,如以下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_chat_login.aspx.cs" Inherits="Sample_chart_login" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css" >
body { width:780px; margin:0px auto;}
form { width:400px; margin:0px auto;}
h3 { margin:10px; padding:10px; text-align:center;}
p.tc { text-align:center; }
</style>
</head>
<body>
<form id="form1" runat="server" defaultbutton="Button1" defaultfocus="txt_id">
<div>
<h3>聊天室登录</h3>
<div>
<p class="tc">
<span >username:</span>
<asp:TextBox ID="txt_id" runat="server"></asp:TextBox> </p>
<p class="tc">
<asp:Button ID="Button1" runat="server" Text="登录聊天室" onclick="Button1_Click" />
</p>
</div>
</div>
</form>
</body>
</html>
login.aspx.cs代码例如以下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Sample_chart_login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
//记录session: 当前username
//跳转至聊天室页面
if (txt_id.Text != "") {
Session["s_id"] = txt_id.Text;
Server.Transfer("Sample_chat_room.aspx");
}
}
}
room.aspx代码例如以下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_chat_room.aspx.cs" Inherits="Sample_chat_room" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css" >
body { width:780px; margin:0px auto;}
h3 { margin:10px; padding:10px; text-align:center;}
p.tc { text-align:center; }
#pnl_chat
{ margin:10px; padding:10px;
border:1px solid #dadada;
height:300px;
}
#div_ctls
{ margin:10px; padding:10px;
border:1px solid #dadade;
}
</style>
</head>
<body >
<form id="form1" runat="server" defaultbutton="Button1" defaultfocus="txt_word">
<div>
<h3>简易聊天室</h3>
<asp:Panel ID="pnl_chat" runat="server" ScrollBars="Vertical">
</asp:Panel>
<div id="div_ctls">
<p>
<asp:TextBox ID="txt_word" runat="server" Width="400"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="发送" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="刷新聊天记录" />
<asp:Button ID="Button4" runat="server" Text="清空" onclick="Button4_Click" />
<asp:Button ID="Button3" runat="server" Text="退出聊天" onclick="Button3_Click" />
</p>
<p>
<span>选择我的颜色:</span>
<asp:DropDownList ID="ddl_color" runat="server">
<asp:ListItem Value="#666666">默认</asp:ListItem>
<asp:ListItem Value="red">红色</asp:ListItem>
<asp:ListItem Value="green">绿色</asp:ListItem>
<asp:ListItem Value="blue">蓝色</asp:ListItem>
</asp:DropDownList>
</p>
</div>
</div>
</form>
</body>
</html>
room.aspx.cs代码例如以下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Sample_chat_room : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//检測session是否存在,假设没有session值,返回登录页面
if (Session["s_id"] == "" || Session["s_id"] == null) {
Response.Redirect("Sample_chat_login.aspx");
} //假设还没有Application["chat"]则创建。假设有则写入panel
if (Application["chat"] != null)
{
pnl_chat.Controls.Add((Panel)Application["chat"]);
}
else
{
Panel _pnl = new Panel();
Application["chat"] = _pnl;
} }
protected void Button1_Click(object sender, EventArgs e)
{
if(txt_word.Text !="") { // 注意:实际应用中,文本框是否为空,都应在前台进行检測; Label lab_name = new Label();
lab_name.Text = Session["s_id"].ToString() + "[" + DateTime.Now.ToLongTimeString() + "]:"; Label lab_word = new Label();
lab_word.Style.Add("color", ddl_color.SelectedValue);
lab_word.Text = txt_word.Text; Literal br = new Literal();
br.Text = "<br/>"; Panel _apppnl = (Panel)Application["chat"];
_apppnl.Controls.AddAt(0, br);
_apppnl.Controls.AddAt(0, lab_word);
_apppnl.Controls.AddAt(0, lab_name); //_apppnl.Controls.Add(lab_name);
//_apppnl.Controls.Add(lab_word);
//_apppnl.Controls.Add(br); Application.Lock();
Application["chat"] = _apppnl;
Application.UnLock(); //清空文本框
txt_word.Text = ""; pnl_chat.Controls.Add((Panel)Application["chat"]); }
}
protected void Button3_Click(object sender, EventArgs e)
{
Session.Remove("s_id");
Response.Redirect("Sample_chat_login.aspx"); }
protected void Button2_Click(object sender, EventArgs e)
{ }
protected void Button4_Click(object sender, EventArgs e)
{
Application.Lock();
Application.Remove("chat");
Application.UnLock(); Server.Transfer("Sample_chat_room.aspx");
}
}
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWF5dW4wNTE2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
版权声明:本文博客原创文章,博客,未经同意,不得转载。
SessionA和pplication网上聊天室的网络范例的更多相关文章
- 开源Flex Air版免费激情美女视频聊天室,免费网络远程视频会议系统((Flex,Fms3联合打造))
开源Flex Air版免费激情美女视频聊天室,免费网络远程视频会议系统((Flex,Fms3联合打造)) Flex,Fms3系列文章导航 Flex,Fms3相关文章索引 本篇是视频聊天,会议开发实 ...
- SharedObject对象聊天室
本博推荐文章快速导航: Sql Server2005 Transact-SQL 新兵器学习MCAD学习 代码阅读总结 ASP.NET状态管理 DB(数据库)WAPWinFormFlex,Fms aie ...
- 使用Servlet和JSP实现一个简单的Web聊天室系统
1 问题描述 利用Java EE相关技术实现一个简单的Web聊天室系统,具体要求如下. (1)编写一个登录 ...
- php websocket-网页实时聊天之PHP实现websocket(ajax长轮询和websocket都可以时间网络聊天室)
php websocket-网页实时聊天之PHP实现websocket(ajax长轮询和websocket都可以时间网络聊天室) 一.总结 1.ajax长轮询和websocket都可以时间网络聊天室 ...
- Python实现网络多人聊天室
网络多人聊天室 文件结构: chatroom ├── client.py # 客户端代码 ├── language.py # 语言文件 ├── server.py # 服务端代码 └── set ...
- Java NIO示例:多人网络聊天室
一个多客户端聊天室,支持多客户端聊天,有如下功能: 功能1: 客户端通过Java NIO连接到服务端,支持多客户端的连接 功能2:客户端初次连接时,服务端提示输入昵称,如果昵称已经有人使用,提示重新输 ...
- 网络编程(学习整理)---2--(Udp)实现简单的控制台聊天室
1.UDP协议: 总结一下,今天学习的一点知识点! UDP也是一种通信协议,常被用来与TCP协议作比较!我们知道,在发送数据包的时候使用TCP协议比UDP协议安全,那么到底安全在哪里呢?怎么理解呢! ...
- 网络编程(学习整理)---1--(Tcp)实现简单的控制台聊天室
1.简单的聊天室(控制台): 功能实现: 客户端和服务端的信息交流: 2.牵扯到的知识点: 这个我大概说一下,详细后面见代码! 1) 网络通讯的三要素 1. IP 2. 端口号. 3. 协议 2) ...
- 网络编程TCP协议-聊天室
网络编程TCP协议-聊天室(客户端与服务端的交互); <span style="font-size:18px;">1.客户端发数据到服务端.</span> ...
随机推荐
- MSA2312 enclosure 闪断后
故障描述:由于电源原因,导致整个扩展柜闪断,硬盘全部为leftover状态. 存储划分配置:之前满配的一套MSA2312,划分为4个vd,后面两个vd无影响,前面2个VD都是一半在1号柜子,一半在2号 ...
- phpStorm打开提示 failed to create JVM 的解决的方法
phpStorm 软件打开执行提示 failed to create JVM的解决的方法. 改动文件 D:\Program Files (x86)\JetBrains\PhpStorm 7.1.3\b ...
- Android Fragment的介绍与使用(案例Demo)
应用场景: 众所了解Android上的界面展示都是通过Activity实现的,可是Activity也有它的局限性,相同的界面在手机上显示可能非常好看,在平板上就未必了.为了让界面能够在平板上更好地展示 ...
- SPOJ DISUBSTR(后缀数组)
传送门:DISUBSTR 题意:给定一个字符串,求不相同的子串. 分析:对于每个sa[i]贡献n-a[i]个后缀,然后减去a[i]与a[i-1]的公共前缀height[i],则每个a[i]贡献n-sa ...
- 【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.对数据进行编解码 在上一期中,我们使用了CC ...
- currentstyle和getComputedStyle兼容问题
currentStyle:获取计算后的样式,也叫当前样式.终于样式. 长处:能够获取元素的终于样式,包含浏览器的默认值,而不像style仅仅能获取行间样式,所以更经常使用到. 注意:不能获取复合样式如 ...
- 基于TFTP协议的远程升级设计
说明:因为CSDN博客编辑器对word格式近乎不支持.因此对表格使用了图片方式(最后一个表格未使用图片格式.大家能够看看效果),CSDN博客编辑器上传图片十分不人性化(直接复制图片是不显示的),因此本 ...
- 在gem5的full system下运行 alpha编译的测试程序 running gem5 on ubuntu in full system mode in alpha
背景 先需要在full system下运行gem5,通过网上查找资料以及向别人请教,终于成功运行,网上大多是关于alpha指令集的,且都是英文的,为了方便大家学习,现在总结一下,希望对大家有所帮助. ...
- hdu4004(二分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4004 大致题意 二分最大跳跃能力,判断是否可以在m次内到达对岸! 分析:由于求青蛙最小弹跳能力,所以二 ...
- 静默安装MSSQL
原文地址:http://www.cnblogs.com/lyhabc/p/3511788.html 介绍 假如你有50台服务器需要安装SQLSERVER,如果你用下一步下一步的方式,用远程桌面不停切换 ...