2

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();

デバッグすると、DataBind() 呼び出し後に SelectTree に dataSource が正常に入力されますが、Nodes 要素は null です。これで問題ないと思います。

get getXMLString は文字列を返します

<?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 に何も表示されない理由がわからない

4

1 に答える 1

0

あなたのxml形式は絶対に正しくないと思います。asp.netでxmlデータをツリービューにバインドする方法についてのこのリファレンスを見てみましょう。 http://msdn.microsoft.com/en-us/library/494y92bs%28v=vs.100%29.aspx

于 2014-01-03T07:10:58.957 に答える