【问题标题】:How do i get all public pages in DotNetNuke?如何获取 DotNetNuke 中的所有公共页面?
【发布时间】:2011-10-20 17:00:32
【问题描述】:

我是 DNN 网站的新手,我想在我的皮肤顶部显示根级别页面(主页、联系我们等)的列表。现在我有:

TabController.GetPortalTabs(0,-1, false, "", false, false, false, true,false);

为显示链接的中继器提供数据。但是,当我登录以编辑页面时,导航会增长到包括所有管理员级别的页面,并破坏了我的设计。有没有办法让我在登录时也只显示公共页面?

【问题讨论】:

    标签: c# asp.net dotnetnuke


    【解决方案1】:

    你可以使用 var tabs = TabController.GetTabsByParent(-1, PortalId);

    然后,您可以过滤该选项卡列表以删除菜单中未显示的所有选项卡。类似于以下内容。

    var tabs = TabController.GetTabsByParent(-1, PortalId);
                foreach (var t in tabs)
                {
                    if (t.IsVisible)
                    {
                        Response.Write(t.TabName);
                        Response.Write("<br />");
                    }
                }
    

    【讨论】:

    • 很好,第一次没有看到 isVisible 属性,我在您的帮助下得到了下面发布的最终答案。
    • DotNetNuke.Common.Globals.GetPortalTabs(portalID, false, true, false, true, true) .. 这是我的函数,它返回一个包含所有选项卡的数组列表.. 但我不想要管理选项卡...怎么办?请帮帮我..
    【解决方案2】:

    一点点 Linq 做的又好又干净

    Dim pages = (From tc In TabController.GetTabsByParent(-1, PortalId)
                 Where tc.IsVisible And Not tc.IsDeleted
                 Select tc).ToList
    

    【讨论】:

      【解决方案3】:

      我还必须检查该页面是否已被删除,或者是否出现了僵尸页面。

      var tabs = TabController.GetTabsByParent(-1, PortalId);
              foreach (var t in tabs)
              {
                  if (t.IsVisible && !t.IsDeleted)
                  {
                      Response.Write(t.TabName);
                      Response.Write("<br />");
                  }
              }
      

      【讨论】:

      • DotNetNuke.Common.Globals.GetPortalTabs(portalID, false, true, false, true, true) .. 这是我的函数,它返回一个包含所有选项卡的数组列表.. 但我不想要管理选项卡...怎么办?请帮帮我..
      【解决方案4】:

      使用上面的帮助到达这里:

      List<DotNetNuke.Entities.Tabs.TabInfo> tabs = TabController.GetTabsByParent(-1, 0).FindAll(
               delegate(DotNetNuke.Entities.Tabs.TabInfo tab)
               {
                   return tab.IsVisible && !tab.IsDeleted;
               }
              );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-25
        • 2021-11-11
        • 2015-10-18
        • 2011-01-03
        • 1970-01-01
        相关资源
        最近更新 更多