我創建了一個asp:ListView
並將其附加到asp:XmlDataSource
。我想支持我的列表的刪除命令,所以我添加了以下按鈕:如何在asp:ListView中刪除使用asp:XmlDataSource?
<asp:Button runat="server" CommandName="Delete"
Text="Del" CausesValidation="false" />
它引發'不支持指定的方法'。有關如何實施此刪除的任何想法?
我創建了一個asp:ListView
並將其附加到asp:XmlDataSource
。我想支持我的列表的刪除命令,所以我添加了以下按鈕:如何在asp:ListView中刪除使用asp:XmlDataSource?
<asp:Button runat="server" CommandName="Delete"
Text="Del" CausesValidation="false" />
它引發'不支持指定的方法'。有關如何實施此刪除的任何想法?
XmlDataSource
不直接支持Delete
命令,您必須手動操作XML文檔。至少有兩種方法可以在頁面中處理此問題。
ItemCommand
事件處理程序的XML編輯的命令CommandName
。 ItemCommand
事件處理函數的事件參數類型爲ListViewCommandEventArgs
,其中CommandName
屬性設置爲您在按鈕上設置的值。CommandName="Delete"
和ItemDeleting
事件相關聯,您必須取消該事件(以防止它在您的XmlDataSource
控件上嘗試呼叫Delete
,您已經看到該控件不起作用)。然後在這裏做你的XML編輯。就實際實現刪除功能而言,您必須在代碼隱藏中手動編輯XML。 From the XmlDataSource Class documentation on MSDN:
更新XML數據
XmlDataSource控件在只讀數據方案,其中數據綁定控件顯示XML數據是常用的。但是,您也可以使用XmlDataSource控件來編輯XML數據。要編輯XML數據,請調用GetXmlDocument方法來檢索作爲XML數據的內存中表示形式的XmlDataDocument對象。您可以使用它包含的XmlDataDocument和XmlNode對象公開的對象模型,也可以使用XPath過濾表達式來處理文檔中的數據。當您更改XML數據的內存中表示時,可以通過調用Save方法將其保存到磁盤。
有一些限制XmlDataSource控件的編輯功能:
- XML數據必須從由DataFile屬性指示的XML文件被加載,而不是從在數據屬性中指定的內聯XML 。
- 無法在Transform或TransformFile屬性中指定XSLT轉換。
- Save方法不處理不同請求的併發保存操作。如果多個用戶通過XmlDataSource編輯XML文件,則不能保證所有用戶都使用相同的數據進行操作。由於這些相同的併發問題,Save操作也可能會失敗。
我想我會切換到SQL Server或SQL Express ;-) – 2011-04-12 09:18:58