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

pengyuancpy 2008-01-07 08:04:01
.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”节点,连同上次的一块更新
...全文
130 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengyuancpy 2008-01-09
  • 打赏
  • 举报
回复
望高手指点,还没解决这个问题
pengyuancpy 2008-01-08
  • 打赏
  • 举报
回复
在每次更新时如何清空缓存?
haomas 2008-01-08
  • 打赏
  • 举报
回复
关注。。。。。。UP
Delphi_jpy 2008-01-08
  • 打赏
  • 举报
回复
关注
chenyaping987123 2008-01-07
  • 打赏
  • 举报
回复
那你可以在你的button_cilck中进行判断啊,如果树中有了Station接点,那么就不要再添加了,如果没有的话就要进行添加.
大正他爹 2008-01-07
  • 打赏
  • 举报
回复
要每次更新时都要清空缓存。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧