ASP.NET:xmldatasource显示字符串但不显示字符串变量

时间:2012-08-15 21:47:00

标签: asp.net xml

我有一个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>

1 个答案:

答案 0 :(得分: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>";