我花了很多时间来处理这种情况。也许有人可以帮助我?我在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。
谢谢。
答案 0 :(得分:0)
我认为你应该使用属性而不是内部文本:
<All>
<Project Name="Project A">
<Categorie Name="Cat A1">
<Question id="1" Name="Q1"></Question>
</Categorie>
</Project>
</All>
然后绑定到属性