⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendnews.aspx

📁 一个聊天室源码 cooo ooo ooo l
💻 ASPX
字号:
<%@ import namespace="System.Xml" %>
<%@ language="C#" runat=server EnableSessionState="ReadOnly"  debug=True%>
<script language="C#" runat="server">
//Page_Load在页面被刷新时用动态产生聊天对象下拉列表
//因为为用提供户聊天对象的下拉列表不能使用代码段产生
//所以在Page_Load方法中产生
void Page_Load(Object sender,EventArgs E)
{
 try{
  Object name=Session["UserName"];
  String userName=name.ToString();
  Current_User.Text=userName;
 //以用户用户选择的颜色显示用户输入的发言
 news.ForeColor=System.Drawing.Color.FromName(color.SelectedItem.Value);

//创建访问XML文档的XmlDocument对象
  XmlDocument xmldoc=new XmlDocument();
  xmldoc.Load(Server.MapPath("/chatdata/onlineusers.xml"));
  XmlNode root=xmldoc.DocumentElement;
  int i=root.ChildNodes.Count;
int j;
String namestr;
if(!IsPostBack)
{
 //产生下拉列表
 ArrayList myList=new ArrayList();
myList.Add("大家");
for(j=0;j<1;j++)
{
namestr=root.ChildNodes[j].FirstChild.InnerText;
if(namestr!=userName)
{myList.Add(namestr);}
}
sendto.DataSource=myList;
sendto.DataBind();
}
}
catch(Exception e)
{
//当出错是自动连接到error.htm页面,显示相应的提示信息
Response.Redirect("error.htm");
return;
}
}

//send_news在用户单击“发言”按钮是调用。
//将发送的信息保存到chatnews.xml文件中
void send_news(Object sender, EventArgs E)
{
try{
//检验用户是否输入发言,避免发送空的发言
if(news.Text=="")
{
return;
}
//将用户的消息保存到chatnews.xml
  XmlDocument xmldoc=new XmlDocument();
  xmldoc.Load(Server.MapPath("/chatdata/chatings.xml"));
  XmlNode root=xmldoc.DocumentElement;
//聊天信息保存在“聊天信息”元素中
//"聊天信息"元素包括"发送者","接受者","表情"
//"悄悄话","颜色"和"消息"等子元素
// 创建新的"聊天信息"元素
XmlNode newElem=xmldoc.CreateElement("聊天信息");
               
//创建"发送者"子元素
Object name=Session["UserName"];
String userName=name.ToString();
XmlNode subElem=xmldoc.CreateElement("发送者");
subElem.InnerText=userName;
//将"发送者"子元素添加到“聊天信息”元素中
newElem.AppendChild(subElem);

//创建"接受者"子元素
 subElem=xmldoc.CreateElement("接受者");
 subElem.InnerText=sendto.SelectedItem.Value;
//将"接受者"子元素添加到"聊天信息"元素中
 newElem.AppendChild(subElem);
 
//创建"表情"子元素
subElem=xmldoc.CreateElement("表情");
subElem.InnerText=face.SelectedItem.Value;
//将"接受者"子元素添加到"聊天信息"元素中
newElem.AppendChild(subElem);

//创建"悄悄话"子元素
subElem=xmldoc.CreateElement("悄悄话");
if(onlyone.Checked)
{
 subElem.InnerText="True";
}else
{subElem.InnerText="False";}
//将"悄悄话"子元素添加到"聊天信息"元素中
newElem.AppendChild(subElem);
      
//创建"颜色"子元素
 subElem=xmldoc.CreateElement("颜色");
 subElem.InnerText=color.SelectedItem.Value;
//将"颜色"子元素添加到"聊天信息"元素中
newElem.AppendChild(subElem);
               
//创建"消息"子元素
subElem=xmldoc.CreateElement("消息");
subElem.InnerText=news.Text;
//将"消息"子元素添加到"聊天信息"元素中
newElem.AppendChild(subElem);
             
//将新建的“聊天信息”元素添加到聊天信息文件chantnews.xml前面
root.InsertBefore(newElem,root.FirstChild);
xmldoc.Save(Server.MapPath("/chatdata/chatings.xml"));

//修改用户最新在线时间
xmldoc.Load(Server.MapPath("/chatdata/onlineusers.xml"));
XmlNode online_node=xmldoc.SelectSingleNode("//在线成员[昵称='"+userName+"']");
//获得当前时间
System.DateTime currentTime=new System.DateTime();
currentTime=System.DateTime.Now; 
//设置“最新时间“元素的值
int minute=currentTime.Minute;
String str=minute.ToString();
online_node.ChildNodes[1].InnerText=str;
xmldoc.Save(Server.MapPath("/chatdata/onlineusers.xml"));
}catch(Exception e)
{
//当出错是自动连接到error.htm页面,显示相应的提示信息
Response.Redirect("error.htm");
return;
}
}

//log_out在用户单击“离开聊天室”按钮是调用。
//用于从onlineuser.xml中删除当前用户
void leg_out(Object sender,EventArgs E)
{
try{
 XmlDocument xmldoc=new XmlDocument();
 xmldoc.Load(Server.MapPath("/chatdata/onlineusers.xml"));

//从在线用户中删除当前用户
XmlNode root=xmldoc=new XmlDocument();
XmlNode node;
Object sname=Session["UserName"];
String userName=sname.ToString();
node=root.SelectSingleNode("//在线成员[昵称='"+userName+"']");
int last,now;
root.RemoveChild(node);
xmldoc.Save(Server.MapPath("/chatdata/onlineusers.xml"));

//添加管理员的欢迎信息到聊天信息文件chatnews.xml中
xmldoc.Load(Server.MapPath("/chatdata/chatings.xml"));
root=xmldoc.DocumentElement;

//聊天信息保存在"聊天信息"元素中
               //"聊天信息"元素包括"发送者","接受者","表情"
               //"悄悄话","颜色"和"消息"等子元素
               // 创建新的"聊天信息"元素
               XmlNode newElem=xmldoc.CreateElement("聊天信息");
               
               //创建"发送者"子元素
               XmlNode subElem=xmldoc.CreateElement("发送者");
               subElem.InnerText="管理员";
               //将"发送者"子元素添加到"聊天信息"元素中
               newElem.AppendChild(subElem);
               
               //创建"接受者"子元素
               subElem=xmldoc.CreateElement("接受者");
               subElem.InnerText="大家";
               //将"接受者"子元素添加到"聊天信息"元素中
               newElem.AppendChild(subElem);
               
               //创建"表情"子元素
               subElem=xmldoc.CreateElement("表情");
               subElem.InnerText="";
               //将"接受者"子元素添加到"聊天信息"元素中
               newElem.AppendChild(subElem);
               
               //创建"悄悄话"子元素
               subElem=xmldoc.CreateElement("悄悄话");
               subElem.InnerText="False";
               //将"悄悄话"子元素添加到"聊天信息"元素中
               newElem.AppendChild(subElem);
               
               //创建"颜色"子元素
               subElem=xmldoc.CreateElement("颜色");
               subElem.InnerText="";
               //将"颜色"子元素添加到"聊天信息"元素中
               newElem.AppendChild(subElem);
               
                //创建"消息"子元素
               subElem=xmldoc.CreateElement("消息");
               subElem.InnerText=userName+"离开聊天室";
               //将"消息"子元素添加到"聊天信息"元素中
               newElem.AppendChild(subElem);
               
              //将新建的“聊天信息”元素添加到聊天信息文件chantnews.xml前面
          root.InsertBefore(newElem,root.FirstChild);
         xmldoc.Save(Server.MapPath("/chatdata/chatings.xml"));
         Session.RemoveAll();
      //重定向到logout.htm
Server.Transfer("logout.htm");
}
catch(Exception e)
{
//当出错是自动连接到error.htm页面,显示相应的提示信息
Response.Redirect("error.htm");
return;
}
}
</script>
<html>
<head>
<% Response.AddHeader("Refresh","60"); %>
</head>
<body bgcolor="DarkKhaki">
<form id="form1" method="post" runat="server">
<table width="100%">
<tr>
<td align="center">
<table border="0" cellspacing="3">
<tr>
  <td align="center" nowrap="False">
    <asp:Label ID="Current_User" Runat="server"></asp:Label>
    <asp:DropDownList ID="sendto" Runat="server"></asp:DropDownList>
    <asp:TextBox ID="news" Height="21px" Width="400px" Runat="server"/>
    &nbsp;&nbsp;
   </td>
   <td>
   <asp:Button ID="button1" Text="发言" OnClick="send_news" Runat="server"/>
   </td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="3">
<tr>
  <td nowrap="False">
   喜欢的色彩
  <asp:DropDownList ID="color" Runat="server">
     <asp:ListItem value="#000000">默认</asp:ListItem>
     <asp:ListItem value="#808080">灰色</asp:ListItem>   
     <asp:ListItem value="#ffff00">黄色</asp:ListItem>
     <asp:ListItem value="#ff0000">红色</asp:ListItem>
     <asp:ListItem value="#ff00ff">紫红</asp:ListItem>
     <asp:ListItem value="#800080">紫色</asp:ListItem>
     <asp:ListItem value="#008000">蓝色</asp:ListItem>
     <asp:ListItem value="#008000">柠檬</asp:ListItem>
     <asp:ListItem value="#00ff00">绿色</asp:ListItem>
     <asp:ListItem value="#ff00ff">玫瑰</asp:ListItem>
     <asp:ListItem value="#ff0088">金黄</asp:ListItem>
     <asp:ListItem value="#ff8800">土黄</asp:ListItem>
     <asp:ListItem value="#ccaa00">灰色</asp:ListItem>
     <asp:ListItem value="#888888">蓝紫</asp:ListItem>
     <asp:ListItem value="#8800ff">紫色</asp:ListItem>
     <asp:ListItem value="#aa00cc">淡紫</asp:ListItem>
     <asp:ListItem value="#008800">橄榄</asp:ListItem>
  </asp:DropDownList>
<td nowrap="False">
  表情
   <asp:DropDownList ID="face" Runat="server">
     <asp:ListItem value="微笑着">微笑</asp:ListItem>
     <asp:ListItem value="红着脸">脸红</asp:ListItem>   
     <asp:ListItem value="温柔的">温柔</asp:ListItem>
     <asp:ListItem value="得意的">得意</asp:ListItem>
     <asp:ListItem value="大笑着">大笑</asp:ListItem>
     <asp:ListItem value="神秘的">神秘</asp:ListItem>
     <asp:ListItem value="嘟着嘴">嘟嘴</asp:ListItem>
     <asp:ListItem value="幸灾乐祸的">幸灾乐祸</asp:ListItem> 
 </asp:DropDownList>
 </td>
 <td>
     &nbsp;&nbsp; &nbsp;&nbsp;
 </td>
<td align="center" valign="middle" width="20%">
   <asp:Button ID="button2" Text="离开聊天室" OnClick="log_out" Runat="server"/>
       </td>
 </tr>
</table>
</td>
</table>
</form>
</body>
</html>



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -