【发布时间】:2023-03-20 13:28:02
【问题描述】:
我有一个 datagrid buttoncolumn 作为我的 xml 节点的删除按钮。 元素只是显示在一个 boundcolumn 中,因此会显示名称。
每个生成的项目都有一个唯一的 id(每次都有一个 id+++)。 我的问题是,当我单击绑定列中的一个按钮时,如何删除一个项目(具有该特定 ID 的整个元素节点)?
<root>
<element id="0">
<name>One</name>
</element>
<element id="1">
<name>Two</name>
</element>
</root>
protected void dg_DeleteCommand(object sender, DataGridCommandEventArgs e)
{
XmlFunctions.Remove(index);
}/*dg_DeleteCommand*/
(其他类的函数,我所有的xml方法都写在这里)
public static void Remove(string index)
{
XmlDocument XMLDoc = new XmlDocument();
XMLDoc.Load(XMLFile);
XPathNavigator nav = XMLDoc.CreateNavigator();
var node = nav.SelectSingleNode("/test/one[@id='" +???+ "']");
node.DeleteSelf();
XMLDoc.Save(XMLFile);
}
编辑:添加数据网格
<asp:View ID="viewDelete" runat="server">
<asp:DataGrid ID="dgDelete runat="server" AutoGenerateColumns="False" OnDeleteCommand="dg_DeleteCommand">
<Columns>
<asp:BoundColumn DataField="name" HeaderText="names" />
<asp:ButtonColumn ButtonType="PushButton" Text="Delete" CommandName="Delete" ></asp:ButtonColumn>
</Columns>
</asp:DataGrid>
</asp:View>
【问题讨论】:
-
“/test/one...”中的测试是什么?
-
抱歉,应该是 /root/element