当前位置:编程学习 > C#/ASP.NET >>

TreeView和xml文件绑定,并动态添加节点遇到的奇怪问题

.cs文件:
     protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            InitTV();
        }
    }

    void InitTV()
    {
        XmlDataSource1.DataFile = Server.MapPath("userInfo.XML");
        TreeView1.DataSource = XmlDataSource1;
        TreeView1.DataBind();
    }
    //动态添加节点的事件函数
    protected void Button1_Click(object sender, EventArgs e)
    {
       XmlDocument XmlDoc = new XmlDocument();
       XmlDoc.Load(Server.MapPath("userInfo.XML"));

        //先查找父节点
        XmlNode node = XmlDoc.SelectSingleNode("//IS");

        //生成新节点,节点名指定
        XmlNode childnode = XmlDoc.CreateNode(XmlNodeType.Element, "Station", null);
       node.AppendChild(childnode);

       XmlDoc.Save(Server.MapPath("userInfo.XML") );
       //再次初始化树
       InitTV(); 
    }

userInfo.XML初始内容如下:
<?xml version="1.0" encoding="utf-8"?>
<IS>
  <Bureau />
</IS>
    

现象:单击事件中添加后第一次 树视图不更新,但打开“userInfo.xml”,“Station”节点已经添加上了;
      第二次单击后,“userInfo.xml”又添加了一次“Station”节点,树视图这次更新了两个“Station”节点,连同上次的一块更新 --------------------编程问答-------------------- 要每次更新时都要清空缓存。 --------------------编程问答-------------------- 那你可以在你的button_cilck中进行判断啊,如果树中有了Station接点,那么就不要再添加了,如果没有的话就要进行添加. --------------------编程问答-------------------- 关注。。。。。。UP --------------------编程问答-------------------- 在每次更新时如何清空缓存? --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 望高手指点,还没解决这个问题
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,