Как получить все общедоступные страницы в DotNetNuke? - PullRequest
3 голосов
/ 20 октября 2011

Я новичок на веб-сайтах DNN и хотел бы отобразить список страниц корневого уровня (Домашняя страница, Контакты и т. Д.) Вверху моей темы. Прямо сейчас у меня есть:

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

Кормление моего репитера, который отображает ссылки. Однако, когда я вошел в систему, чтобы редактировать страницы, навигация увеличивается и включает в себя все страницы уровня администратора, что нарушает мой дизайн. Можно ли отобразить только общедоступные страницы, даже когда я вошел в систему?

Ответы [ 4 ]

11 голосов
/ 20 октября 2011

Вы можете использовать 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 />");
                }
            }
2 голосов
/ 01 мая 2012

Немного Linq делает красиво и чисто

Dim pages = (From tc In TabController.GetTabsByParent(-1, PortalId)
             Where tc.IsVisible And Not tc.IsDeleted
             Select tc).ToList
1 голос
/ 14 марта 2012

Я должен был также проверить, была ли страница удалена или я получаю страницы зомби, чтобы показать.

var tabs = TabController.GetTabsByParent(-1, PortalId);
        foreach (var t in tabs)
        {
            if (t.IsVisible && !t.IsDeleted)
            {
                Response.Write(t.TabName);
                Response.Write("<br />");
            }
        }
1 голос
/ 20 октября 2011

Воспользовался помощью сверху, чтобы добраться сюда:

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