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

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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网上聊天室的网络范例
SessionA和pplication网上聊天室的网络范例

     

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117679.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 云计算安全

    云计算安全

    2021年8月1日
    72
  • (转)SAP 将smartforms的报表转成PDF

    (转)SAP 将smartforms的报表转成PDF(转)SAP 将smartforms的报表转成PDF

    2022年4月20日
    46
  • 「 运动控制 」“ADRC自抗扰控制技术”(Active Disturbance Rejection Control)研究

    「 运动控制 」“ADRC自抗扰控制技术”(Active Disturbance Rejection Control)研究近年来,虽然现代控制理论取得了一系列成果,但是在工业领域的应用并没有代替PID控制。这说明现代控制理论在实际应用的过程中受到一定的限制,控制理论与生产生活实际仍然存在一定的代沟。对此,韩京清总结为基于“模型论”的控制理论在解决问题时没有以生产生活中的不确定性作为重点,没有抓住生产生活实践中所切实需要的核心。韩京清先生针对生产生活实践中存在的问题潜心研究,积极探索,逐步分析PID理论与现代控…

    2022年5月18日
    27
  • java 取余和取模运算之间的区别「建议收藏」

    java 取余和取模运算之间的区别「建议收藏」转自lee371042https://blog.csdn.net/lee371042/article/details/102553342packageOperator;importjava.math.BigInteger;/***假如有两个数:*amod(b)与a%b,b为正整数,*一种叫a对b取模,另一个叫a对b取余,两种叫法有什么区别呢?*通常情况下,取模运算也叫取余运算,*它们返回的结果都是一个数对另一个数的余数,**区别在于当a是一

    2022年6月3日
    35
  • Wireshark过滤规则的使用!「建议收藏」

    Wireshark过滤规则的使用!「建议收藏」文章目录MAC地址过滤显示包含的MAC地址只显示源MAC地址只显示目标MAC地址IP地址过滤显示包含的IP地址只显示源IP地址只显示目标IP地址端口号过滤显示包含端口号为80的报文只显示源端口号为80的报文只显示目标端口号为80的报文过滤高层协议语法MAC地址过滤显示包含的MAC地址eth.addr==38:b1:db:d4:41:c5不管是源MAC地址还是目标MAC地址,只要包含38:b1:db:d4:41:c5的MAC地址都会显示出来只显示源MAC地址eth.src==38:b1:

    2022年7月13日
    24
  • 什么是友元类[通俗易懂]

    什么是友元类[通俗易懂]======================什么是友元类=======================     当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问。我们就把类B叫做类A的友元。=======================友元类能做什么=======================     友元类可以通过自己的方法来

    2025年5月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号