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

📄 addroomstate.aspx.cs

📁 酒店管理 主要实现了基础设施管理(客房管理、客房类型管理)、业务管理(入住、退房、数据库切换) 本系统简单明了,适合初学者学习,采用三层加抽象工厂实现
💻 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 + -