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 に答える