使用XmlDataSource填充TreeView而不保存文件

时间:2009-06-03 17:19:00

标签: c# asp.net xml treeview

我有一个.cs文件,用于构建xml文档并将其存储在变量中。

我想将它“注入”我的<asp:XmlDataSource>,这样我就不必保存每个xml文件(每次加载都不一样)。我怎么能这样做?

在我的codebehind cs文件中,我有:

XmlDocument x = blahblah

XmlDataSource MySource = new XmlDataSource();

MySource.Data = x.InnerXml

在我的aspx文件中,我有一个表单标记:

<asp:XmlDataSource ID="MySource" runat="server" > </asp:XmlDataSource> <asp:TreeView ID="TreeView1" DataSourceId="MySource" runat="server" />

然而,当我运行它时,我得到了简单:对象引用没有设置为对象的实例

2 个答案:

答案 0 :(得分:2)

如果无法识别XmlDataSource的MySource ID,则问题出在其他地方。在正常情况下,您在ASPX文件中声明的任何runat="server"控件都应该可以在代码隐藏文件中访问。

您应该检查ASPX是否正确映射到代码隐藏文件(@Page声明)。

此外,您可以直接将字符串XML分配到XmlDataSource.Data属性而不使用中间变量,因为它接受字符串作为输入。

答案 1 :(得分:0)

我相信你可能刚刚错过了对XmlDataSource的DataBind()方法的调用。

MySource.DataBind();