在C#中从XMLDataSource填充treeView,但UI上没有任何内容

时间:2013-12-02 16:06:24

标签: c# asp.net treeview xmldatasource

.aspx的

<asp:XmlDataSource runat="server" ID="TreeXml" EnableViewState="false" EnableCaching="false" />

<asp:TreeView ID="SelectTree" runat="server" DataSourceID="projectsTreeXml" AutoGenerateDataBindings="false">
     <DataBindings>
         <asp:TreeNodeBinding DataMember="A" TextField="DisplayID" ValueField="ID"/>
         <asp:TreeNodeBinding DataMember="B" TextField="DisplayID" ValueField="ID" />
     </DataBindings>
</asp:TreeView>

C#代码

TreeXml.Data = getXMLString();
TreeXml.DataBind();
SelectCtrlTree.DataBind();

当我调试时,SelectTree在DataBind()调用之后成功填充了dataSource,但是Nodes元素为null,我认为应该没问题。

get getXMLString返回String

<?xml version="1.0" encoding="UTF-8" ?> 
- <Root>
 - <A ID="3063" Name="All Initiatives" DisplayID="Enterprise">
   <B ID="4911" Name="Closed - 2" DisplayID="Closed - 2"/>
  - <A ID="17902" Name="Corporate Programs" DisplayID="Corporate">
   - <A ID="25920" Name="In-flight Projects" DisplayID="In-flight">
      <B ID="3688" Name="Cash Flow BI Project" DisplayID="CORP00712" />  
     </A>
    </A>
   </A>
  </Root>

不知道为什么UI没有显示任何内容

1 个答案:

答案 0 :(得分:0)

我认为你的xml格式并不是绝对正确的。 让你看看如何将xml数据绑定到asp.net中的treeview。 http://msdn.microsoft.com/en-us/library/494y92bs%28v=vs.100%29.aspx