在我的應用程序,我在ASPX定義將XmlDataSource:設置XMLDataSource.XPath不記得
<asp:XmlDataSource ID="XmlThickness" runat="server"
DataFile="~/XML/Data/products.xml" EnableCaching="False"
EnableViewState="False"
></asp:XmlDataSource>
這個數據源飼料的網格。
在我的代碼,我設置的XPath在特定功能的特定點,然後發出對的XmlDataSource一個新的數據綁定(),使得電網更新:
XmlThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness/Thick";
XmlThickness.DataBind();
所有這些作品一個魅力,但是當我嘗試從另一個函數中讀出XPAth時,我收到一條錯誤消息。
XmlNode thick = myDataSource.SelectSingleNode(XmlThickness.XPath.ToString());
調試顯示XPath表達式實際上是空的。
我試圖將DataSource的創建移動到代碼中,然後才設置網格的DataSourceID,但這不起作用。
在嘗試此操作之前,我在XMLDataSource定義中定義了一個默認的XPath,並且在那一點,XMLNode thick
行返回了此默認字符串。
我有點困惑,爲什麼XPath沒有保留在XMLDataSource afdter上,我明確地在早期函數中設置它。有人能幫我解釋一下嗎?
感謝。鏈接提到這是出於安全原因,這是有道理的。看到我手動填寫xPath,我現在將它存儲在一個變量中,然後稍後使用它來查找正確的節點。 – SchmitzIT