2011-03-21 56 views
0

我花了很多時間處理這種情況。也許有人可以幫助我?我在ASP.Net頁面上有一個TreeView控件,數據將由DataBinding使用XMLDataSource填充。TreeNodeBinding顯示所有子節點的內聯文本

<asp:TreeView id="treeview1" runat="server" DataSourceID="xmlDataSource1"> 
       <DataBindings> 
        <asp:TreeNodeBinding DataMember="All" TextField="#InnerText" /> 
        <asp:TreeNodeBinding DataMember="Categorie" TextField="#InnerText" /> 
        <asp:TreeNodeBinding DataMember="Question" TextField="#InnerText" ValueField="id" /> 
       </DataBindings> 
</asp:TreeView> 

XML數據文件如下:

<All> 
    <ProjectName> 
    Project A 
    <Categorie> 
     Cat A1 
     <Question id="1">Q1</Question> 
     <Question id="2">Q2</Question> 
    </Categorie> 
    </ProjectName> 
</All> 

當頁面渲染,輸出是所有節點也顯示子節點元素的文本。 輸出:

- Project ACatA1Q1Q2 
    - Cat A1Q1Q2 
     - Q1 
     - Q2 

的情況是:如何刪除子節點的文字?所以,輸出必須是:

- Project A 
    - Cat A 
     - Q1 
     - Q2 

這就像是TreeNodeBinding有問題。但將TextField更改爲「Value」示例不起作用(空節點文本)。

我不使用XSLT轉換文件。 Xml將直接提供給XmlDataSource。

謝謝。

回答

0

我認爲你應該使用屬性,而不是內部文本:

<All> 
    <Project Name="Project A"> 
    <Categorie Name="Cat A1"> 
     <Question id="1" Name="Q1"></Question> 
    </Categorie> 
    </Project> 
</All> 

,然後綁定到屬性

+0

是可能的,它的作品對我來說這是一個解決方案。謝謝。 – robertpnl 2011-03-21 10:53:42