0
我有一個XML數據源,它提供了一箇中繼器控制。但是,我有一些問題需要顯示實際數據。ASP中繼器 - 不重複xPath數據
的XML數據源中包含的材料厚度(從一個較大的XML文件中取出)的一個列表,以及價格,大小和尺寸數據一起:
<Thickness>
<Thick>
<Size label="Thickness: 12"><![CDATA[12]]></Size>
<Price>5778</Price>
<From>0</From>
<To>0</To>
</Thick>
<Thick>
<Size label="Thickness: 22"><![CDATA[22]]></Size>
<Price>5919</Price>
<From>0</From>
<To>0</To>
</Thick>
...
</Thickness>
我用下面的代碼加載的DataSource:
myThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness/*";
myThickness.DataBind();
(其他XPath的東西只是爲了達到厚度的東西)。然後我嘗試將其加載到中繼器(其數據綁定到所述XML數據源),並使用下面的代碼顯示它:
<ItemTemplate>
<table>
<tr>
<td><asp:Label ID="lblThickness" runat="server" Text="Thickness: " />
<asp:TextBox ID="txtThickness" runat="server" Text='<%# XPath("Thick/Size") %>' />
</tr><tr>
<td><asp:Label ID="Label2" runat="server" Text="From: " />
<asp:TextBox ID="TextBox1" runat="server" Text='<%# XPath("Thick/From") %>' />
/tr>
</table>
</ItemTemplate>
這正確地加載控件的數目,但控制不顯示任何數據。如果我在加載事件來改變XPath來:
myThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness";
然後對照確實顯示的數據,但只適用於第一個記錄(12 0)。我對xPAth還不是很熟悉,但還沒有弄清楚厚度是否需要在後面,如果是,我怎麼會在中繼器中複製xPAth來讀出數值。任何人有任何指針,請?
在此先感謝!
謝謝,那曾經工作過! – SchmitzIT