【问题标题】:Binding Treeview control with XML Datasource with incorrect node title使用节点标题不正确的 XML 数据源绑定 Treeview 控件
【发布时间】:2014-01-23 01:41:47
【问题描述】:

我正在尝试将 Treeview 控件绑定到正确绑定的 XML 数据源,我遇到的唯一问题是为树节点显示的文本不正确。请参考下面的代码。

<asp:TreeView ID="TreeView1" DataSourceID="XmlDataSource1" runat="server" ShowCheckBoxes="All" >
 <DataBindings>                                                        ``
   <asp:TreeNodeBinding DataMember="menuItem" TextField="text" NavigateUrlField="url" Text="Permissions" Depth="2" SelectAction="None"/>                                          
  </DataBindings>

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu>
  <menuItem text="Home" url="~/Default.aspx?id=e058511b-b7d9-4d39-b194-cf803014777" mid="08f360dc-   a9cf-4724-a595-66f7ca01c04e" predeficon="homeico" />
  <menuItem text="Bio" url="~/Default.aspx"  icon="~/common/theme/smoothadmin/img/cog.png">
    <subMenu>
      <menuItem text="Reg" url="~\Modules\Bio\Reg.aspx"/>
      <menuItem text="Mem" url="~\Modules\Bio\Mem.aspx"/>      
    </subMenu>
  </menuItem>    
  <menuItem text="Por" url="~/Default.aspx?"  icon="~/common/theme/smoothadmin/img/cog.png">
    <subMenu>
      <menuItem text="General">
        <subMenu>
          <menuItem text="Make Appointment" url="~\Modules\Portals\Gen.aspx"/>          
        </subMenu>
      </menuItem>
    </subMenu>
  </menuItem>
</menu>

树形视图加载正常,但显示了 treeNodes 的文本,而没有显示菜单(例如(Home、Bio、Reg、Mem 等)的文本。

  • 菜单
    • 菜单项
    • 菜单项
      • 子菜单
      • 菜单项
      • 菜单项
      • 菜单项
      • 子菜单
        • 菜单项
        • 子菜单
          • 菜单项

【问题讨论】:

  • 为什么你有Text="Permissions"?尝试删除它
  • @Damith 我已经删除了 Text="Permissions" 属性,但树视图仍然加载了节点文本而不是实际文本。

标签: c# asp.net asp.net-mvc


【解决方案1】:

这应该让你开始:

 <asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1">
    <DataBindings>
        <asp:TreeNodeBinding DataMember="menuItem" TextField="text" NavigateUrlField="url"  />
    </DataBindings>
</asp:TreeView>

它最初不起作用,因为 xml 中的菜单项之一缺少 url 值。

【讨论】:

    【解决方案2】:

    刚刚遇到同样的问题。由于这个问题是谷歌的第一个链接 - 添加答案。 只要设置了 XML 中的所有“文本”属性——我的解决方案就是这样写:

    <asp:TreeNodeBinding DataMember="" TextField="text" NavigateUrlField="url"  />
    

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      相关资源
      最近更新 更多