Имеется xml файл выведенный в TreeView
Код обработки нажатия кнопки Delete(Удаляет синие ноды, перезаписывает xml файл и обновляет TreeView через UpdatePanel)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
protected void Delete (Object sender, EventArgs e)
{
string pathToXmlZakaz = "C:/Users/User/Desktop/Site-UTDC/Account/UserAccount/" + User.Identity.Name + "/Zakaz/" + CatalogValue + "/" + DataValue + "/" + ZakazValue + ".xml";
IvMarkaList.DataFile = pathToXmlZakaz;
XmlDocument document = new XmlDocument();
document.Load(pathToXmlZakaz);
if (SelectSpSpSub == "Sp")
{
XmlNode Node = document.SelectSingleNode("//list[@text='" + NodeParent + "']/Sp[@text='" + NodeText + "']");
XmlNode Parent = Node.ParentNode;
Parent.RemoveChild(Node);
}
else
{
XmlNode Node = document.SelectSingleNode("//list[@text='" + NodeParentParent + "']/sublist[@text='" + NodeParent + "']/SpSub[@text='" + NodeText + "']");
XmlNode Parent = Node.ParentNode;
Parent.RemoveChild(Node);
}
document.Save(pathToXmlZakaz);
IvMarkaList.DataFile = pathToXmlZakaz;
UpdatePanel1.Update();
Table1.Visible = false;
}
Код ASP.NET
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode ="Conditional" >
<ContentTemplate>
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="IvMarkaList" OnSelectedNodeChanged="SelectNode" >
<DataBindings>
<asp:TreeNodeBinding DataMember="name" TextField="name" SelectAction="None" />
<asp:TreeNodeBinding DataMember="list" TextField="text" SelectAction="None"/>
<asp:TreeNodeBinding DataMember="sublist" TextField="text" SelectAction="None"/>
<asp:TreeNodeBinding DataMember="SpSub" TextField="text" />
<asp:TreeNodeBinding DataMember="Sp" TextField="text" />
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource ID="IvMarkaList" runat="server"></asp:XmlDataSource>
<asp:Table ID="Table1" runat="server" BorderWidth="1">
<asp:TableRow>
<asp:TableCell BorderWidth="1"><asp:Label ID="Label2" runat="server"></asp:Label></asp:TableCell>
<asp:TableCell BorderWidth="1"><asp:Button ID="Del" runat="server" Text="Удалить" OnClick="Delete" /></asp:TableCell>
</asp:TableRow>
</asp:Table>
</ContentTemplate>
</asp:UpdatePanel>
Представленный код отлично работает
Планируется дописать код на удаление родительских нодов если дочерние отсутствуют. И вот тут проблема.
Например если в коде вставить Response.Write("/////"); или что-нибудь другое UpdatePanel перестает работать. Однако через F5 срабатывает и также не срабатывает Response.Write("/////"); или что ни-будь другое.
Кто знает, почему так происходит? Не могу понять. Help Me