asp.net聊天室小程序练习
来源:互联网 发布:批量修改图片名称软件 编辑:程序博客网 时间:2024/05/16 07:08
登录界面如图:
_login.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="_login.aspx.cs" Inherits="_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> <script type="text/javascript">//用于检测用户名不为空; function checkUID() { var _result = false; var _txt = document.getElementById("txt_uid"); if (_txt.value != null) { _result = true; } return _result; } </script></head><body> <form id="form1" runat="server" defaultbutton="btn_login" defaultfocus="txt_uid"> <div> 请输入用户名:<asp:TextBox ID="txt_uid" runat="server"></asp:TextBox><asp:Button ID="btn_login" runat="server" Text="登录" OnClientClick="Return checkUID" onclick="Button1_Click" /> </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 _login : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Session["uid"] = txt_uid.Text; Server.Transfer("_room.aspx"); }}
登录成功后的页面如图:
_room.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="_room.aspx.cs" Inherits="_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"><%--css--%> .pnl1 { border:2px solid #dedede; padding:5px; </style></head><body> <form id="form1" runat="server" defaultbutton="Button1" defaultfocus="TextBox1"> <div> <asp:Panel ID="Panel1" runat="server" Width="600px" Height="400px" ScrollBars="Vertical" CssClass="pnl1"> </asp:Panel> <asp:Panel ID="pan_ctl" runat="server" Width="600px" CssClass="pnl1"> <asp:TextBox ID="TextBox1" runat="server" Width="300px"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="发送" onclick="Button1_Click" /> <asp:Button ID="Button2" runat="server" Text="退出聊天室" onclick="Button2_Click" /> </asp:Panel> </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 _room : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (Session["uid"] == null) { Response.Redirect("_login.aspx"); } if (Application["chat"] == null) { Application["chat"] = new Panel(); } Panel1.Controls.Add((Panel)Application["chat"]); } protected void Button2_Click(object sender, EventArgs e) { Session.Remove("uid"); Response.Redirect("_login.aspx"); } protected void Button1_Click(object sender, EventArgs e) { Label _uid = new Label(); _uid.Text = Session["uid"].ToString(); Label _dt = new Label(); _dt.Text = DateTime.Now.ToLongTimeString(); Label _words = new Label(); _words.Text = TextBox1.Text; Literal lbr = new Literal(); lbr.Text = "<br/>"; Application.Lock(); ((Panel)Application["chat"]).Controls.AddAt(0, lbr);//逆序插入 ((Panel)Application["chat"]).Controls.AddAt(0, _words); ((Panel)Application["chat"]).Controls.AddAt(0, _dt); ((Panel)Application["chat"]).Controls.AddAt(0, _uid); Application.UnLock(); TextBox1.Text = ""; }}效果如图所示:
鉴于无法自动刷新聊天窗,我们引入iframe
代码改动如下:
_room.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="_room.aspx.cs" Inherits="_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"><%--css--%> .pnl1 { border:2px solid #dedede; padding:5px; </style></head><body> <form id="form1" runat="server" defaultbutton="Button1" defaultfocus="TextBox1"> <div> <iframe src="_roomcontent.aspx" width="600px" height="400px"></iframe><%--//加入iframe--%> <%--<asp:Panel ID="Panel1" runat="server" Width="600px" Height="400px" ScrollBars="Vertical" CssClass="pnl1"> </asp:Panel>--%> <asp:Panel ID="pan_ctl" runat="server" Width="600px" CssClass="pnl1"> <asp:TextBox ID="TextBox1" runat="server" Width="300px"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="发送" onclick="Button1_Click" /> <asp:Button ID="Button2" runat="server" Text="退出聊天室" onclick="Button2_Click" /> <asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem Value="red">红色</asp:ListItem> <asp:ListItem Value="green">绿色</asp:ListItem> <asp:ListItem Value="yellow">黄色</asp:ListItem> </asp:DropDownList> </asp:Panel> </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 _room : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (Session["uid"] == null) { Response.Redirect("_login.aspx"); } //if (Application["chat"] == null) //{ // Application["chat"] = new Panel(); // } //Panel1.Controls.Add((Panel)Application["chat"]); } protected void Button2_Click(object sender, EventArgs e) { Session.Remove("uid"); Response.Redirect("_login.aspx"); } protected void Button1_Click(object sender, EventArgs e) { Label _uid = new Label(); _uid.Text = Session["uid"].ToString(); Label _dt = new Label(); _dt.Text = DateTime.Now.ToLongTimeString(); Label _words = new Label(); _words.Style.Add("color", DropDownList1.SelectedValue); _words.Text = TextBox1.Text; Literal lbr = new Literal(); lbr.Text = "<br/>"; Application.Lock(); ((Panel)Application["chat"]).Controls.AddAt(0, lbr);//逆序插入 ((Panel)Application["chat"]).Controls.AddAt(0, _words); ((Panel)Application["chat"]).Controls.AddAt(0, _dt); ((Panel)Application["chat"]).Controls.AddAt(0, _uid); Application.UnLock(); TextBox1.Text = ""; }}
_roomcontent.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="_roomcontent.aspx.cs" Inherits="_roomcontent" %><!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"><meta http-equiv="refresh" content="1" /> <title></title></head><body> <form id="form1" runat="server"> <div id="holder" runat="server"> </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 _roomcontent : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (Application["chat"] == null) { Application["chat"] = new Panel(); } holder.Controls.Add((Panel)Application["chat"]); }}效果如图所示:
0 0
- asp.net聊天室小程序练习
- ASP.NET 开发聊天室程序(英文)
- ASP.NET 开发聊天室程序(英文)
- ASP.NET 开发聊天室程序(英文)
- ASP.net--简易聊天室
- asp.net 在线聊天室
- 在线聊天室小程序
- 聊天室小程序
- 用Asp.Net创建基于Ajax的聊天室程序
- 用Asp.Net创建基于Ajax的聊天室程序
- 用Asp.Net创建基于Ajax的聊天室程序
- 用Asp.Net创建基于Ajax的聊天室程序
- 用Asp.Net创建基于Ajax的聊天室程序
- asp.net小程序练习--自动生成指定的文本框数
- asp.net之简易聊天室
- ASP.NET MVC4异步聊天室
- 两个有用的ASP.Net小程序
- ASP.NET程序中常用小技巧
- linux2.6.20 sd/mmc卡驱动学习日记2(基于s3c2440)
- 交叉编译的三个参数:sysroot和DESTDIR、prefix
- imageView src与background区别
- 做到以下几点
- linux2.6.20 sd/mmc卡驱动学习日记3(基于s3c2440)
- asp.net聊天室小程序练习
- CMD接受输入参数(定时关机小例子)
- linux2.6.20 sd/mmc卡驱动学习日记4(基于s3c2440)
- 数据库建表原则
- SQL模糊查询的参数化
- Java线程浅学习
- JSTL-核心标签库
- 遍历Map的四种方法
- hive,hbase与pig的区别与联系