protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e)
{
if (!Page.IsCallback)
{
System.Web.UI.WebControls.Menu menu = (System.Web.UI.WebControls.Menu)sender;
SiteMapNode mapNode = (SiteMapNode)e.Item.DataItem;
bool bEsMiembro = false;
foreach (string RolMenu in mapNode.Roles)
{
if (RolMenu == "*")
{
if (mapNode.Title == "Reconexión" && Session["PERFIL"].ToString() != "A")
{
bEsMiembro = false;
}
else
{
bEsMiembro = true;
}
break;
}
string RolMenuAux = RolMenu.Trim();
if (RolMenuAux != "")
{
foreach (string MiRol in ((RolePrincipal)Page.User).GetRoles())
{
if (RolMenu == MiRol)
{
bEsMiembro = true;
break;
}
}
}
if (bEsMiembro)
{
break;
}
}
if (!bEsMiembro)
{
System.Web.UI.WebControls.MenuItem itemToRemove = menu.FindItem(mapNode.Title);
if (e.Item.Depth == 0)
{
menu.Items.Remove(e.Item);
}
else
{
System.Web.UI.WebControls.MenuItem parent = e.Item.Parent;
if (parent != null)
{
parent.ChildItems.Remove(e.Item);
}
}
}
}
}