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