📄 sendnews.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"/>
</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>
</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 + -