Session和Application实现网络在线聊天室实例

login.aspx代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_chat_login.aspx.cs" Inherits="Sample_chart_login" %>







   
   


   


   

       

聊天室登录




       

           


                用户名:
                   


        
           


               
           


       

    
   

   



login.aspx.cs代码如下:

[csharp]  view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7.   
  8. public partial class Sample_chart_login : System.Web.UI.Page  
  9. {  
  10.     protected void Page_Load(object sender, EventArgs e)  
  11.     {  
  12.   
  13.     }  
  14.     protected void Button1_Click(object sender, EventArgs e)  
  15.     {  
  16.         //记录session: 当前用户名  
  17.         //跳转至聊天室页面  
  18.         if (txt_id.Text != "") {  
  19.             Session["s_id"] = txt_id.Text;  
  20.             Server.Transfer("Sample_chat_room.aspx");  
  21.         }  
  22.     }  
  23. }  

room.aspx代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_chat_room.aspx.cs" Inherits="Sample_chat_room" %>







   
    
   




   


   

   

简易聊天室


    
   
   

    
   

       


       
       
         
           
          
           
         
           
       

  


        选择我的颜色:
        
       
            默认
            红色
            绿色
            蓝色
       



       


   



   

   


room.aspx.cs代码如下:

[csharp]  view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7.   
  8. public partial class Sample_chat_room : System.Web.UI.Page  
  9. {  
  10.     protected void Page_Load(object sender, EventArgs e)  
  11.     {  
  12.         //检测session是否存在,如果没有session值,返回登录页面  
  13.         if (Session["s_id"] == "" || Session["s_id"] == null) {  
  14.             Response.Redirect("Sample_chat_login.aspx");  
  15.         }  
  16.   
  17.   
  18.           
  19.   
  20.             //如果还没有Application["chat"]则创建,如果有则写入panel  
  21.             if (Application["chat"] != null)  
  22.             {  
  23.                 pnl_chat.Controls.Add((Panel)Application["chat"]);  
  24.             }  
  25.             else  
  26.             {  
  27.                 Panel _pnl = new Panel();  
  28.                 Application["chat"] = _pnl;  
  29.             }  
  30.           
  31.   
  32.     }  
  33.     protected void Button1_Click(object sender, EventArgs e)  
  34.     {  
  35.         if(txt_word.Text !="") { // 注意:实际应用中,文本框是否为空,都应在前台进行检测;  
  36.   
  37.         Label lab_name = new Label();  
  38.         lab_name.Text = Session["s_id"].ToString() + "[" + DateTime.Now.ToLongTimeString() + "]:";  
  39.   
  40.         Label lab_word = new Label();  
  41.         lab_word.Style.Add("color", ddl_color.SelectedValue);  
  42.         lab_word.Text = txt_word.Text;  
  43.   
  44.         Literal br = new Literal();  
  45.         br.Text = "
    "
    ;  
  46.   
  47.         Panel _apppnl = (Panel)Application["chat"];  
  48.         _apppnl.Controls.AddAt(0, br);  
  49.         _apppnl.Controls.AddAt(0, lab_word);  
  50.         _apppnl.Controls.AddAt(0, lab_name);  
  51.               
  52.         //_apppnl.Controls.Add(lab_name);  
  53.         //_apppnl.Controls.Add(lab_word);  
  54.         //_apppnl.Controls.Add(br);  
  55.   
  56.         Application.Lock();  
  57.         Application["chat"] = _apppnl;  
  58.         Application.UnLock();  
  59.   
  60.            
  61.   
  62.         //清空文本框  
  63.         txt_word.Text = "";  
  64.   
  65.         pnl_chat.Controls.Add((Panel)Application["chat"]);  
  66.           
  67.   
  68.         }  
  69.     }  
  70.     protected void Button3_Click(object sender, EventArgs e)  
  71.     {  
  72.         Session.Remove("s_id");  
  73.         Response.Redirect("Sample_chat_login.aspx");  
  74.   
  75.     }  
  76.     protected void Button2_Click(object sender, EventArgs e)  
  77.     {  
  78.   
  79.     }  
  80.     protected void Button4_Click(object sender, EventArgs e)  
  81.     {  
  82.         Application.Lock();  
  83.         Application.Remove("chat");  
  84.         Application.UnLock();  
  85.   
  86.         Server.Transfer("Sample_chat_room.aspx");  
  87.     }  
  88. }  

Session和Application实现网络在线聊天室实例_第1张图片

Session和Application实现网络在线聊天室实例_第2张图片


转自:http://blog.csdn.net/yayun0516/article/details/42024223

你可能感兴趣的:(网络编程)