0

我有一个 aspx 文件,但在使用 xmlDatasource 和中继器时遇到问题,这是我的代码

<asp:xmldatasource runat="server" XPath="bookstore/genre[@name='fiction']" Id="XmlSource" data="<% x; %>">
 <data>
 <bookstore><genre name='fiction'><book ISBN='0000000000'><title>Secrets of Silicon Valley</title><price>12.95</price><chapters><chapter num='1' name='Introduction' /></chapters></book></genre></bookstore>
 </data>
 </asp:xmldatasource>

 <asp:Repeater
    DataSourceID="XmlSource"
    runat="server">
      <ItemTemplate>
          <h1><%# XPath ("book/title") %></h1>
          <b>Price:</b>
          <%# XPath ("book/price") %>
      </ItemTemplate>
  </asp:Repeater>

当我像这样使用它时,它工作得很好,即当我直接在数据对象中写入 xml 字符串时。

但是当我将它存储在变量中并使用它时它不起作用。任何想法如何做到这一点

这是我想要做的

string x = "<bookstore><genre name='fiction'><book ISBN='0000000000'><title>Secrets of Silicon Valley</title><price>12.95</price><chapters><chapter num='1' name='Introduction' /></chapters></book></genre></bookstore>";
<asp:xmldatasource runat="server" XPath="bookstore/genre[@name='fiction']" Id="XmlSource">
 <data>
 x;
</data>
</asp:xmldatasource>
4

1 回答 1

0

您可以像在示例中那样使用 XmlDataSource,但在标记中将其保留为空:

<asp:xmldatasource runat="server" XPath="bookstore/genre[@name='fiction']" Id="XmlSource">
</asp:xmldatasource>

然后Data在后面的代码中设置属性:

XmlSource.Data = @"
<bookstore>
 <genre name='fiction'>
  <book ISBN='0000000000'>
   <title>Secrets of Silicon Valley</title>
   <price>12.95</price>
   <chapters>
    <chapter num='1' name='Introduction' />
   </chapters>
  </book>
 </genre>
</bookstore>";
于 2012-08-16T00:31:43.230 回答