【问题标题】:How to switch views from a multiview upon a click of a treeview item?单击树视图项时如何从多视图切换视图?
【发布时间】:2013-12-11 07:46:24
【问题描述】:

我正在尝试在 asp.net 网络表单中创建一个原型,其中单击树视图项会更改多视图中的视图。我已经创建了我需要的所有视图,现在我需要对其进行配置,以便单击树视图项会将多视图更改为相应的视图。

我的树视图有这样的结构:一个项目有 2 个子组件:部件、用户。此外,部件可以有多个子部件。因此,当单击一个项目时,我想加载与项目关联的视图,在本例中,它称为 view1。当点击某个部分时,它应该加载 view2,依此类推。

我最好的猜测是,我可以以某种方式提取所选树视图项的级别(从根开始计数)并从那里加载它的视图。但我该怎么做呢?此外,由于项目有 2 个子组件,每个子组件都有自己的视图,因此树视图项目级别可能不够,因为部件和用户都将处于同一级别。那么我该如何解决呢?

【问题讨论】:

    标签: asp.net webforms treeview multiview


    【解决方案1】:

    我想通了。

    TreeView.SelectedNode.Depth 提供所选节点所在的级别。我以为我必须从选定的节点和类似的东西做一些递归遍历,但看起来它比这简单得多。 =)

    我仍然有多个视图对应相同深度的问题。

    【讨论】:

      【解决方案2】:

      我是这样做的。

      在我的页面上,我有 2 列。左边是treeView1,右边是Multiview1,有几个View。

      页面加载设置为 MultiView1.ActiveViewIndex = 0

      通过在设计模式下双击TreeView,它会创建Subroutine Handler

      Protected Sub TreeView1_SelectedNodeChanged(sender etc etc etc)

      结束子

      我在子程序中添加了以下代码

      If TreeView1.SelectedNode.Value = "treeview 节点的值" Then MultiView1.ActiveViewIndex = 1 结束如果

      【讨论】:

        猜你喜欢
        • 2012-03-18
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-03
        相关资源
        最近更新 更多