public FindItem ( string valuePath ) : System.Web.UI.WebControls.MenuItem | ||
valuePath | string | |
return | System.Web.UI.WebControls.MenuItem |
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); } } } } }
private void SetearOpcionesConsultor(Menu menuPrincipal) { SetearOpcionesGeneral(menuPrincipal); menuPrincipal.Items.Remove(menuPrincipal.FindItem("Cliente")); // Buscar el item Vehiculo MenuItem menuVehiculo = menuPrincipal.FindItem("Vehiculo"); // Buscar cada subitem del item Vehiculo MenuItem venderVehiculo = menuPrincipal.FindItem("Vehiculo/VenderVehiculo"); MenuItem registrarVehiculo = menuPrincipal.FindItem("Vehiculo/RegistrarVehiculo"); MenuItem modificarVehiculo = menuPrincipal.FindItem("Vehiculo/ModificarVehiculo"); MenuItem caracteristicasVehiculo = menuPrincipal.FindItem("Vehiculo/CaracteristicasVehiculo"); MenuItem eliminarVehiculo = menuPrincipal.FindItem("Vehiculo/EliminarVehiculo"); // Eliminar cada subitem del item Vehiculo menuVehiculo.ChildItems.Remove(venderVehiculo); menuVehiculo.ChildItems.Remove(registrarVehiculo); menuVehiculo.ChildItems.Remove(modificarVehiculo); menuVehiculo.ChildItems.Remove(caracteristicasVehiculo); menuVehiculo.ChildItems.Remove(eliminarVehiculo); }
private void SetearOpcionesGeneral(Menu menuPrincipal) { // Remover los items que no son accesibles por el usuario menuPrincipal.Items.Remove(menuPrincipal.FindItem("Empleado")); menuPrincipal.Items.Remove(menuPrincipal.FindItem("Comision")); }
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 ( // (mapNode.Title == "PGE" && !Utilidades.EsModuloAccesible("PGE")) // || (mapNode.Title == "PST" && !Utilidades.EsModuloAccesible("PST")) // || (mapNode.Title == "IAP" && !Utilidades.EsModuloAccesible("IAP")) // )//Si el acceso a los módulos está cortado, no se muestran... //{ // if (HttpContext.Current.Session["GVT_AdminActual"].ToString() != "A") // {// a menos que el usuario sea administrador. // bEsMiembro = false; // break; // } //} //if (mapNode.Title == "ADP") //{ // if (Utilidades.EsModuloAccesible("ADP") && HttpContext.Current.User.IsInRole("PER")) // { // bEsMiembro = true; // break; // } //} if (RolMenu == "*") { //if (mapNode.Title == "Reconexión") // 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); //itemToRemove.Enabled = false; } else { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); //parent.Enabled = false; } } } } }
private void DoSelecetion(Menu menu) { if (suppressPageSelection) { return; } bool didSelect = false; String valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset, Request.RawUrl); if (valuePath.Length > 0) { MenuItem menuItem; menuItem = menu.FindItem(valuePath); if ( (topLevelOnly || menu.MaximumDynamicDisplayLevels == 0) && (menuItem == null) && (valuePath.IndexOf(menu.PathSeparator) > -1) ) { valuePath = valuePath.Substring(0, (valuePath.IndexOf(menu.PathSeparator))); menuItem = menu.FindItem(valuePath); } if (menuItem != null) { try { menuItem.Selected = true; didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } if (!didSelect) { valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset); if (valuePath.Length > 0) { MenuItem menuItem; menuItem = menu.FindItem(valuePath); if ( (topLevelOnly) && (menuItem == null) && (valuePath.IndexOf(menu.PathSeparator) > -1) ) { valuePath = valuePath.Substring(0, (valuePath.IndexOf(menu.PathSeparator))); menuItem = menu.FindItem(valuePath); // http://www.mojoportal.com/Forums/Thread.aspx?thread=7277&mid=34&pageid=5&ItemID=5&pagenumber=1#post33725 // patch by vijaykarla 2011-05-24 // If the page is not Included In Menu, the above line of code wont work (returns null), following code is solution for it //========= if (menuItem == null) { #if NET35 if (!string.IsNullOrEmpty(valuePath)) #else if (!string.IsNullOrWhiteSpace(valuePath)) #endif { int lastSeperatorIndex = valuePath.LastIndexOf(menu.PathSeparator); while (lastSeperatorIndex > 0) { valuePath = valuePath.Substring(0, lastSeperatorIndex); menuItem = menu.FindItem(valuePath); if (menuItem != null) break; lastSeperatorIndex = valuePath.LastIndexOf(menu.PathSeparator); } } } //======= } if (menuItem != null) { try { menuItem.Selected = true; didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } }
private void DoMenuSelection(Menu menu) { // TODO: clean up this hairy mess without breaking anything MenuItem menuItem = null; bool didSelect = false; string valuePath; if (isSubMenu) { valuePath = SiteUtils.GetPageMenuActivePageValuePath(pageMapDataSource.Provider.RootNode); } else { valuePath = SiteUtils.GetActivePageValuePath(pageMapDataSource.Provider.RootNode, startingNodeOffset, Request.RawUrl); } if (valuePath.Length > 0) { menuItem = menu.FindItem(valuePath); if (menuItem == null) { if (startingNodeOffset > 0) { for (int i = 1; i <= startingNodeOffset; i++) { if (valuePath.IndexOf("|") > -1) { valuePath = valuePath.Remove(0, valuePath.IndexOf("|") + 1); } } } } if (menuItem == null) { valuePath = SiteUtils.GetPageMenuActivePageValuePath(pageMapDataSource.Provider.RootNode); menuItem = menu.FindItem(valuePath); } if (menuItem != null) { try { menuItem.Selected = true; didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } if (!didSelect) { valuePath = SiteUtils.GetActivePageValuePath(pageMapDataSource.Provider.RootNode, startingNodeOffset); if (valuePath.Length > 0) { menuItem = menu.FindItem(valuePath); if ( (menuItem == null) && (valuePath.IndexOf(menu.PathSeparator) > -1) ) { valuePath = valuePath.Substring(0, (valuePath.IndexOf(menu.PathSeparator))); menuItem = menu.FindItem(valuePath); } if ( (dynamicDisplayLevels == 0) && (menuItem == null) && (valuePath.IndexOf(menu.PathSeparator) > -1) ) { foreach (MenuItem m in menu.Items) { if (valuePath.Contains(m.ValuePath)) { try { m.Selected = true; didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } return; } } } if (menuItem != null) { try { menuItem.Selected = true; didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } if (!didSelect) { valuePath = SiteUtils.GetActivePageValuePath(pageMapDataSource.Provider.RootNode, startingNodeOffset, Request.RawUrl); if (valuePath.Length > 0) { menuItem = menu.FindItem(valuePath); if (menuItem == null) { if (currentPage == null) { currentPage = CacheHelper.GetCurrentPage(); } if (currentPage != null) { menuItem = menu.FindItem(currentPage.PageGuid.ToString()); } } if ( (dynamicDisplayLevels == 0) && (menuItem == null) && (valuePath.IndexOf(menu.PathSeparator) > -1) ) { foreach (MenuItem m in menu.Items) { if (valuePath.Contains(m.ValuePath)) { try { m.Selected = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } return; } } } if (menuItem != null) { try { menuItem.Selected = true; didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } }
protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e) { System.Web.UI.WebControls.Menu menu = (System.Web.UI.WebControls.Menu)sender; SiteMapNode mapNode = (SiteMapNode)e.Item.DataItem; System.Web.UI.WebControls.MenuItem itemToRemove = menu.FindItem(mapNode.Title); if (NombreUsr.Text != "SuperAdmin") { if (this.Entity.TiposUsuario.ToString() == "Alumno") { if (mapNode.Title == "AlumnoInscripcion") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { e.Item.Text = "Mis Cursos"; } } if (mapNode.Title == "Usuarios") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Especialidades") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Planes") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Materias") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Comisiones") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "DocenteCurso") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Cursos") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } } if (this.Entity.TiposUsuario.ToString() == "Docente") { if (mapNode.Title == "DocenteCurso") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { e.Item.Text = "Mis cursos"; } } if (mapNode.Title == "Usuarios") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Especialidades") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Planes") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Materias") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Comisiones") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "AlumnoInscripcion") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } if (mapNode.Title == "Cursos") { System.Web.UI.WebControls.MenuItem parent = e.Item.Parent; if (parent != null) { parent.ChildItems.Remove(e.Item); } } } } }
public static void RemoverMenuItem(Menu Menu, string IdMenuItem) { MenuItem menuItem = Menu.FindItem(IdMenuItem); if (menuItem != null) RemoverMenuItem(Menu, menuItem); }