我如何在DotNetNuke得到所有公共页面
本文关键字:DotNetNuke | 更新日期: 2023-09-27 18:12:07
我是DNN网站的新手,并希望在我的皮肤顶部显示根级页面(Home, Contact Us等)的列表。现在我有:
TabController.GetPortalTabs(0,-1, false, "", false, false, false, true,false);
给显示链接的中继器喂食。然而,当我登录编辑页面,导航增长到包括所有管理级别的页面,以及打破我的设计。是否有一种方法可以让公共页面显示,即使我登录?
可以使用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 />");
}
}
一点点Linq让它变得漂亮和干净
Dim pages = (From tc In TabController.GetTabsByParent(-1, PortalId)
Where tc.IsVisible And Not tc.IsDeleted
Select tc).ToList
我还必须检查页面是否被删除或我得到僵尸页面显示。
var tabs = TabController.GetTabsByParent(-1, PortalId);
foreach (var t in tabs)
{
if (t.IsVisible && !t.IsDeleted)
{
Response.Write(t.TabName);
Response.Write("<br />");
}
}
使用上面的帮助到达这里:
List<DotNetNuke.Entities.Tabs.TabInfo> tabs = TabController.GetTabsByParent(-1, 0).FindAll(
delegate(DotNetNuke.Entities.Tabs.TabInfo tab)
{
return tab.IsVisible && !tab.IsDeleted;
}
);