【问题标题】:TreeNodeBinding show the innertext of all child nodesTreeNodeBinding 显示所有子节点的内部文本
【发布时间】:2011-03-21 18:51:09
【问题描述】:

我为这种情况花费了很多时间。也许有人可以帮助我?我在 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 更改为示例“值”不起作用(空节点文本)。

我不使用 XSLT 转换文件。 Xml 将直接提供给 XmlDataSource。

谢谢。

【问题讨论】:

    标签: asp.net treeview


    【解决方案1】:

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

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

    然后绑定到属性

    【讨论】:

      猜你喜欢
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      相关资源
      最近更新 更多