Archivo

Entradas con la etiqueta 'Dot Net Nuke'

Creación de un menú DotNetNuke a partir de un menú de Asp.Net

Así que tienden a utilizar Dotnetnuke mucho para mis proyectos paralelos y su justo generaly un buen portal. Sin embargo, el solpartmenu por defecto siempre fue un reto de creatividad hacerlo lucir bien. Y el proveedor de menú Asp.net parece tener una gran cantidad de código en el mismo. Así que miré alrededor y vi a algunos menús libres, pero donde siempre extravagante ... i utilizada cuando el reflector sobre ellos pude ver por qué.

¿Qué llevó a esta publicación. Como se puede ver el código es siempre muy simple, odio volver a inventar la rueda. Lo que este control está haciendo es rellenar el MenuItemCollection.

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
namespace QuickMax.UI
{
public class DnnAspNetMenu : System.Web.UI.WebControls.Menu
{
DotNetNuke.Entities.Modules.PortalModuleBase _DnnBase;
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
_DnnBase = new DotNetNuke.Entities.Modules.PortalModuleBase();
foreach (DotNetNuke.Entities.Tabs.TabInfo tab in _DnnBase.PortalSettings.DesktopTabs)
{
if (tab.IsVisible && tab.Level == 0)
{
bool badd = false;
foreach (DotNetNuke.Security.Permissions.TabPermissionInfo tbi in tab.TabPermissions)
if (_DnnBase.UserInfo.IsInRole(tbi.RoleName))
badd = true;
if (badd)
{
MenuItem mnuItem = new MenuItem();
mnuItem.Text = tab.TabName;
mnuItem.NavigateUrl = tab.FullUrl;

mnuItem.Selected = tab.TabID.Equals(_DnnBase.PortalSettings.ActiveTab.TabID);FillChildren(ref mnuItem, tab);
this.Items.Add(mnuItem);
}
}
}
}
private void FillChildren(ref MenuItem mnuitem, DotNetNuke.Entities.Tabs.TabInfo parent)
{
foreach (DotNetNuke.Entities.Tabs.TabInfo tab in _DnnBase.PortalSettings.DesktopTabs)
{
if (parent.TabID == tab.ParentId)
{
bool badd = false;
foreach (DotNetNuke.Security.Permissions.TabPermissionInfo tbi in tab.TabPermissions)
if (_DnnBase.UserInfo.IsInRole(tbi.RoleName))
badd = true;
if (badd)
{
MenuItem mnuItem = new MenuItem();
mnuItem.Text = tab.TabName;
mnuItem.NavigateUrl = tab.FullUrl;

mnuItem.Selected = tab.TabID.Equals(_DnnBase.PortalSettings.ActiveTab.TabID);FillChildren(ref mnuItem, tab);
mnuitem.ChildItems.Add(mnuItem);
}
}
}
}
}
}
Categories: Programming Tags: , , ,

apps as3 asp.net asp.net. web development DNN Dot Net Nuke education facebook flash flex frustration geo targiting html iphone ip lookup javascript micro blogging microsoft mobi mobile mogile mysql oracle orm php plugins project management reporting Reporting Services rich inter application rss social networks software development sql subsonic twitter user experience viewstate wap web2.0 web development website word press worpress XMAL Android Development (2)
Awards (2)
Other Random Stuff (15)
Portfolio (18)
Programming (26)
Some Thoughts (13)

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

Categories

Pages

Archives

Tags

apps as3 asp.net asp.net. web development DNN Dot Net Nuke education facebook flash flex frustration geo targiting html iphone ip lookup javascript micro blogging microsoft mobi mobile mogile mysql oracle orm php plugins project management reporting Reporting Services rich inter application rss social networks software development sql subsonic twitter user experience viewstate wap web2.0 web development website word press worpress XMAL