我有一个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>
答案 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>";