国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
制作一個(gè)具有私聊功能的聊天室

制作一個(gè)具有私聊功能的聊天室

例6.10  在聊天室中,幾個(gè)網(wǎng)友一起聊天時(shí),總會(huì)有一些話題不想被同一聊天室內(nèi)別的聊友看見,因此聊天室必須設(shè)置私聊的功能,如圖6.12所示。

 
(點(diǎn)擊查看大圖)圖6.12  具有私聊功能聊天室

在6.3.4節(jié)中已經(jīng)制作了一個(gè)簡(jiǎn)單的聊天室,在此基礎(chǔ)上設(shè)計(jì)一個(gè)具有私聊功能的聊天室。程序?qū)崿F(xiàn)的主要步驟:(實(shí)例位置:光盤\TM\Instances\06\ch10)

(1)在顯示聊天信息頁(yè)Bottom.aspx中,再添加一個(gè)TextBox控件,用來(lái)顯示私聊信息;在Default.aspx中,再添加一個(gè)CheckBox控件,用來(lái)區(qū)分聊天信息為私聊還是群聊。

(2)主要程序代碼如下。

為了實(shí)現(xiàn)私聊功能,需要修改Global.axax文件,在文件中加入如下代碼。

  1. void Application_Start(object sender, EventArgs e)   
  2.    {  
  3.       //在應(yīng)用程序啟動(dòng)時(shí)運(yùn)行的代碼  
  4.       //建立用戶列表  
  5.       string user="";//用戶列表  
  6.       Application["user"] = user;  
  7.       Application["userNum"] = 0;  
  8.       string chats = "";//聊天記錄    
  9.       Application["chats"] = chats;  
  10.       //當(dāng)前的聊天記錄數(shù)  
  11.       Application["current"] = 0;  
  12.       string receive = "";//接受列表  
  13.       Application["receive"] = receive;  
  14.       string Owner = "";//發(fā)送列表  
  15.       Application["Owner"] = Owner;  
  16.       string chat = "";//私聊內(nèi)容列表  
  17.       Application["chat"] = chat;  
  18.       Application["chatnum"] = 0; //私聊內(nèi)容的當(dāng)前記錄數(shù)  
  19.       string chattime = "";//私聊信息發(fā)送時(shí)間  
  20.       Application["chattime"] = chattime;   
  21.    } 

(3)進(jìn)入添加聊天信息頁(yè)面Bottom.aspx,當(dāng)用戶輸入聊天信息并選中"私聊"復(fù)選框后,單擊"我要發(fā)言"按鈕,在"我要發(fā)言"按鈕的Click事件下將發(fā)送者、接收者、發(fā)送時(shí)間、聊天內(nèi)容這4項(xiàng)信息保存在Application對(duì)象中,其代碼如下。

  1. protected void  Button1_Click(object sender, EventArgs e)  
  2.      {  
  3.         Application.Lock( );  
  4.         string strTxt = TextBox2.Text.ToString( );  
  5.         int intintChatNum = int.Parse(Application["chatnum"].ToString ( ));  
  6.         if (CheckBox1.Checked)  
  7.         {  
  8.           //處理私聊內(nèi)容  
  9.           if (intChatNum == 0 || intChatNum > 40)  
  10.           {  
  11.             intChatNum = 0;  
  12.             Application["chat"] = strTxt.ToString( );  
  13.             Application["Owner"] = Session["user"];  
  14.             Application["chattime"] = DateTime.Now;  
  15.             Application["receive"] = DropDownList1.
    SelectedValue.ToString( );  
  16.           }  
  17.           else  
  18.           {  
  19.             Application["chat"] = Application["chat"] 
    + "," + strTxt.ToString( );  
  20.             Application["Owner"] = Application["Owner"] 
    + "," + Session["user"];  
  21.             Application["chattime"] = Application
    ["chattime"] + "," + DateTime.Now;  
  22.             Application["receive"] = Application
    ["receive"] + "," + DropDownList1.SelectedValue.ToString( );  
  23.             }  
  24.             intChatNum += 1;  
  25.             object obj = intChatNum;  
  26.             Application["chatnum"] = obj;  
  27.         }  
  28.         else  
  29.         {  
  30.            //處理公共聊天內(nèi)容  
  31.            int intintcurrent = int.Parse(Application
    ["current"].ToString( ));  
  32.            if (intcurrent == 0 || intcurrent >40)  
  33.            {  
  34.               intcurrent = 0;  
  35.                 Application["chats"] =Session["user"].
    ToString( ) + "對(duì)" + DropDownList1.SelectedValue.ToString
    ( ) + "說(shuō):" + strTxt.T oString( )+"("+ DateTime.Now.ToString( )+")" ;  
  36.             }  
  37.             else  
  38.             {  
  39.                  Application["chats"] = Application["chats"].
    ToString( ) + "," + Session["user"].ToString( ) + "對(duì)" +
    DropDownList 1.SelectedValue.ToString( ) + "說(shuō):" + 
    strTxt.ToString( ) + "(" + DateTime.Now.ToString( ) + ")";  
  40.                  
  41.             }  
  42.             intcurrent +=1;  
  43.             object obj = intcurrent;  
  44.             Application["current"] = obj;  
  45.          }  
  46.          Application.UnLock( );  
  47.          //刷新聊天頁(yè)面  
  48.          Response.Write("<script language=javascript>");  
  49.          Response.Write("this.parent.right.location.reload( )");  
  50.          Response.Write("</script>");  
  51.      } 

(4)進(jìn)入顯示聊天信息頁(yè)面right.aspx,當(dāng)頁(yè)面加載時(shí),從Application對(duì)象中讀取保存聊天信息,將所有的聊天記錄顯示在頁(yè)面中,代碼如下。

  1. protected void Page_Load(object sender, EventArgs e)  
  2.    {  
  3.       Application.Lock( );  
  4.       string OwnerName=Session["user"].ToString( );  
  5.       if (!IsPostBack)  
  6.       {   
  7.          //私聊、發(fā)送、接收  
  8.          string Owner = Application["Owner"].ToString( );  
  9.          string[] Ownsers = Owner.Split(',');  
  10.          string receive = Application["receive"].ToString( );  
  11.          string[] receivereceives = receive.Split(',');  
  12.          string chat=Application["chat"].ToString( );  
  13.          string [] chatchats=chat.Split(',');  
  14.          string chattime=Application["chattime"].ToString( );  
  15.          string[] chattimechattimes=chattime.Split(',');  
  16.          for (int i = (Ownsers.Length - 1); i>=0 ; i--)  
  17.          {  
  18.             if (OwnerName.Trim( ) == Ownsers[i].Trim( ))  
  19.             {  
  20.               //發(fā)送  
  21.               TextBox2TextBox2.Text = TextBox2.Text + "\n" 
    + "您悄悄地對(duì)" + receives[i].ToString( ) + "說(shuō):" + chats[i].
    ToString( ) + "("+chattimes[i].ToString( )+")";  
  22.             }  
  23.             else  
  24.             {  
  25.               if (OwnerName.Trim( ) == receives[i].Trim( ))  
  26.               {  
  27.                 //接收  
  28.                   TextBox2TextBox2.Text = TextBox2.Text + 
    "\n"  + Ownsers[i].ToString( ) + "悄悄地對(duì)您說(shuō):" + chats[i].
    ToString( ) + "(" + chattimes[i].ToString( ) + ")";  
  29.                 
  30.                }  
  31.             }  
  32.               
  33.          }  
  34.          //公聊  
  35.          int intintcurrent = int.Parse(Application
    ["current"].ToString( ));  
  36.          string strchat = Application["chats"].ToString( );  
  37.          string[] strchatstrchats = strchat.Split(',');  
  38.          for (int i = (strchats.Length - 1); i >= 0; i--)  
  39.          {  
  40.             if (intcurrent == 0)  
  41.             {  
  42.               TextBox1.Text =strchats[i].ToString( );  
  43.             }  
  44.             else  
  45.             {   
  46.               TextBox1TextBox1.Text = TextBox1.Text + 
    "\n" + strchats[i].ToString( );  
  47.             }  
  48.                  
  49.          }  
  50.              
  51.       }  
  52.       Application.UnLock( );  
  53.    } 
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C# 中TextBox 字符串過(guò)長(zhǎng) 關(guān)于Application.DoEvents()
實(shí)用口語(yǔ):說(shuō)出地道“甜言蜜語(yǔ)”
上傳控件
C# 將數(shù)據(jù)導(dǎo)出到Excel匯總
c#日期與字符串間的轉(zhuǎn)換
.net如何實(shí)現(xiàn)頁(yè)面間的參數(shù)傳遞
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服