TreeNodeBinding显示所有子节点的innertext

时间:2011-03-21 10:35:17

标签: asp.net treeview

我花了很多时间来处理这种情况。也许有人可以帮助我?我在ASP.Net页面上有一个TreeView控件,数据将由DataBinding使用XMLDataSource填充。

<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。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为你应该使用属性而不是内部文本:

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

然后绑定到属性

相关问题