C# ASP Repeater-不从xPath重复数据
我有一个XML数据源,它提供了一个repeater控件。然而,我在显示实际数据时遇到了一些问题 XML数据源包含材料厚度列表(取自较大的XML文件),以及价格、尺寸和尺寸数据:C# ASP Repeater-不从xPath重复数据,c#,asp.net,xpath,C#,Asp.net,Xpath,我有一个XML数据源,它提供了一个repeater控件。然而,我在显示实际数据时遇到了一些问题 XML数据源包含材料厚度列表(取自较大的XML文件),以及价格、尺寸和尺寸数据: <Thickness> <Thick> <Size label="Thickness: 12"><![CDATA[12]]></Size> <Price>5778</Price> <From>0&l
<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>
(另一个XPath内容只是为了获得厚度内容)。然后,我尝试将其加载到中继器(它被数据绑定到XML数据源),并使用以下代码显示它:
myThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness/*";
myThickness.DataBind();
<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>
然后控件确实显示数据,但仅显示第一条记录(12和0)。我对xPAth还不够熟悉,还没有弄清楚为什么需要/*behind Thickness,如果需要,我将如何在中继器中共同构造xPAth来读取值。有人有什么建议吗
提前谢谢 按如下方式加载:
myThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness/Thick";
myThickness.DataBind();
数据源路径必须引用xml文档中的重复元素
<ItemTemplate>
<table>
<tr>
<td><asp:Label ID="lblThickness" runat="server" Text="Thickness: " />
<asp:TextBox ID="txtThickness" runat="server" Text='<%# XPath("Size") %>' />
</tr><tr>
<td><asp:Label ID="Label2" runat="server" Text="From: " />
<asp:TextBox ID="TextBox1" runat="server" Text='<%# XPath("From") %>' />
/tr>
</table>
</ItemTemplate>
/tr>
<ItemTemplate>
<table>
<tr>
<td><asp:Label ID="lblThickness" runat="server" Text="Thickness: " />
<asp:TextBox ID="txtThickness" runat="server" Text='<%# XPath("Size") %>' />
</tr><tr>
<td><asp:Label ID="Label2" runat="server" Text="From: " />
<asp:TextBox ID="TextBox1" runat="server" Text='<%# XPath("From") %>' />
/tr>
</table>
</ItemTemplate>