📄 addroomstate.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.IO;
public partial class AddRoomState : System.Web.UI.Page
{
private string path = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
GetXMLData();//首次加载
}
/// <summary>
/// 添加新节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lkBtn_Add_Click(object sender, EventArgs e)
{
string state = this.txt_newState.Text;
string img = this.file.Value;
path = Server.MapPath("~/Bin/RoomState.xml");
if (!string.IsNullOrEmpty(state))
{
if (File.Exists(path))
{
XmlDocument doc = new XmlDocument();
try
{
doc.Load(path);
//获得XML文档的根
XmlElement root = doc.DocumentElement;
XmlElement node = doc.CreateElement("state");
XmlAttribute value = doc.CreateAttribute("value");
value.Value = state;
node.Attributes.Append(value);//将属性添加到新创建的节点上
XmlAttribute url = doc.CreateAttribute("imgUrl");
if (string.IsNullOrEmpty(img))
{
url.Value = "~\\Images\\房态图\\";
node.Attributes.Append(url);
}
else
{
if (img.Contains("Images") && img.Contains("房态图"))
{
string name = img.Substring(img.LastIndexOf("\\"), img.Length - img.LastIndexOf("\\"));
url.Value = "~\\Images\\房态图\\" + name;
node.Attributes.Append(url);
root.AppendChild(node);//将新节点添加到根节点上
doc.Save(path);//保存到文件中
GetXMLData();//添加成功后再加载
this.txt_newState.Text = "";
}
else
Response.Write("<script>alert('图片必须存放在指定的目录中!!')</script>");
}
}
catch (Exception ex)
{
Response.Write("<script>alert(" + ex.Message + ex.StackTrace + ")</script>");
}
}
else
Response.Write("<script>alert('指定的文档不存在!!')</script>");
}
else
Response.Write("<script>alert('请填写要添加的值!!')</script>");
}
/// <summary>
/// 移除指定的节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lkBtn_remove_Click(object sender, EventArgs e)
{
if (this.lst_States.SelectedIndex != -1)
{
string state = this.lst_States.SelectedValue;
path = Server.MapPath("~/Bin/RoomState.xml");
if (!string.IsNullOrEmpty(state))
{
if (File.Exists(path))
{
XmlDocument doc = new XmlDocument();
try
{
doc.Load(path);
//获得XML文档的根
XmlElement root = doc.DocumentElement;
if (root != null && root.HasChildNodes)
{
//查询节点
XmlNode node = root.SelectSingleNode("state[@value='" + state.Trim() + "']");
if (node != null)
root.RemoveChild(node);//移除指定的子节点
doc.Save(path);//保存文件
GetXMLData();//重新读取XML文档
}
else
this.lst_States.Items.Clear();
}
catch (Exception ex)
{
Response.Write("<script>alert(" + ex.Message + ex.StackTrace + ")</script>");
}
}
else
Response.Write("<script>alert('指定的文档不存在!!')</script>");
}
}
}
/// <summary>
/// 移除指定节点的所有子节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lkBtn_removeAll_Click(object sender, EventArgs e)
{
path = Server.MapPath("~/Bin/RoomState.xml");
if (File.Exists(path))
{
XmlDocument doc = new XmlDocument();
try
{
doc.Load(path);
//获得XML文档的根
XmlElement root = doc.DocumentElement;
if (root != null)
{
root.RemoveAll();//移除当前节点的所有子级和指定属性
}
doc.Save(path);//保存文件
GetXMLData();
}
catch (Exception ex)
{
Response.Write("<script>alert(" + ex.Message + ex.StackTrace + ")</script>");
}
}
else
Response.Write("<script>alert('指定的文档不存在!!')</script>");
}
/// <summary>
/// 读取XML文档
/// </summary>
private void GetXMLData()
{
path = Server.MapPath("~/Bin/RoomState.xml");
if (File.Exists(path))
{
try
{
XmlDocument doc = new XmlDocument();//初始化XML文档
doc.Load(path);//加载
if (doc != null)
{
XmlElement root = doc.DocumentElement;//获得根节点
if (root != null && root.HasChildNodes)
{
XmlNodeList lists = root.ChildNodes;//获得根节点下的所有子节点
if (lists != null)
{
this.lst_States.Items.Clear();
foreach (XmlNode temp in lists)
{
if (temp.Name.Equals("state"))
{
ListItem item = new ListItem(temp.Attributes["value"].InnerText, temp.Attributes["value"].InnerText);
this.lst_States.Items.Add(item);
}
}
}
}
else
this.lst_States.Items.Clear();
}
}
catch (Exception ex)
{
throw new Exception(ex.Message + ex.StackTrace);
}
}
else
Response.Write("<script>alert('指定的文档不存在!!')</script>");
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string state = string.Empty;
if (this.lst_States.SelectedIndex != -1)
{
int index = this.lst_States.SelectedIndex;
state = this.lst_States.SelectedItem.Text;
if (index != 0)
{
path = Server.MapPath("~/Bin/RoomState.xml");
if (File.Exists(path))
{
try
{
XmlDocument doc = new XmlDocument();//初始化XML文档
doc.Load(path);//加载
if (doc != null)
{
XmlElement root = doc.DocumentElement;//获得根节点
if (root != null && root.HasChildNodes)
{
//查询节点
XmlNode node = root.SelectSingleNode("state[@value='" + state.Trim() + "']");
if (node != null)
{
XmlNode pre = node.PreviousSibling;
if (pre != null)
{
root.RemoveChild(node);//移除指定的子节点
root.InsertBefore(node, pre);
ListItem selectItem = this.lst_States.SelectedItem; //获得当前选中的状态
this.lst_States.Items.Remove(selectItem); //从当前集合中删除选中的项
this.lst_States.Items.Insert(index - 1, selectItem);//重新插入到集合中
}
}
doc.Save(path);//保存文件
GetXMLData();//重新读取XML文档
}
else
this.lst_States.Items.Clear();
}
}
catch (Exception ex)
{
throw new Exception(ex.Message + ex.StackTrace);
}
}
else
Response.Write("<script>alert('指定的文档不存在!!')</script>");
}
}
}
protected void imgBtn_Down_Click(object sender, ImageClickEventArgs e)
{
string state = string.Empty;
if (this.lst_States.SelectedIndex != -1)
{
int index = this.lst_States.SelectedIndex;
state = this.lst_States.SelectedItem.Text;
if (index < this.lst_States.Items.Count)
{
path = Server.MapPath("~/Bin/RoomState.xml");
if (File.Exists(path))
{
try
{
XmlDocument doc = new XmlDocument();//初始化XML文档
doc.Load(path);//加载
if (doc != null)
{
XmlElement root = doc.DocumentElement;//获得根节点
if (root != null && root.HasChildNodes)
{
//查询节点
XmlNode node = root.SelectSingleNode("state[@value='" + state.Trim() + "']");
if (node != null)
{
XmlNode pre = node.NextSibling;
if (pre != null)
{
root.RemoveChild(node);//移除指定的子节点
root.InsertAfter(node, pre);
ListItem selectItem = this.lst_States.SelectedItem; //获得当前选中的状态
this.lst_States.Items.Remove(selectItem); //从当前集合中删除选中的项
this.lst_States.Items.Insert(index + 1, selectItem);//重新插入到集合中
}
}
doc.Save(path);//保存文件
GetXMLData();//重新读取XML文档
}
else
this.lst_States.Items.Clear();
}
}
catch (Exception ex)
{
throw new Exception(ex.Message + ex.StackTrace);
}
}
else
Response.Write("<script>alert('指定的文档不存在!!')</script>");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -