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" />

        &nbsp;

            <asp:Button ID="Button2" runat="server" Text="刷新聊天记录"  />

         &nbsp;

            <asp:Button ID="Button4" runat="server" Text="清空" onclick="Button4_Click"  />

        &nbsp;

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

SessionA和pplication网上聊天室的网络范例

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWF5dW4wNTE2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">SessionA和pplication网上聊天室的网络范例

版权声明:本文博客原创文章,博客,未经同意,不得转载。

上一篇:pthread——pthread_cleanup


下一篇:《Selenium2自动化测试实战--基于Python语言》 --即将面市