Estoy usando el proveedor ASP.NET MVC SiteMap en un proyecto, y está funcionando muy bien. Sin embargo, estoy teniendo dificultades para tratar de descubrir cómo ocultar un elemento del menú. El elemento del menú que quiero ocultar para que se muestre en la navegación global es mi página "Mapa del sitio". Ahora sé que hay algo llamado VisibilityProvider
disponible para mí en mvcSiteMapNode, pero parece que no puedo encontrar la manera de hacerlo funcionar.Proveedor ASP.NET MVC SiteMap - Cómo 'ocultar' elementos individuales en el menú real
Respuesta
Primero, le sugiero que lea esta página wiki: Creating a Custom SiteMapNodeVisibilityProvider. A continuación, para el nodo específico que apunta a su página Mapa del sitio, declarar de esta manera:
<mvcSiteMapNode title="Site Map" controller="Home" action="Map" visibility="false" />
Ahora, al aplicar la IsVisible
método (que se muestra en la página wiki vinculado anteriormente), se puede hacer esto:
string visibility = mvcNode["visibility"];
// Is a visibility attribute specified?
if (!string.IsNullOrEmpty(visibility))
{
isVisible = Convert.ToBoolean(mvcNode["visibility"]);
if (!isVisible)
{
return false;
}
}
return true;
Tomado de mi respuesta aquí que explica cómo ocultar los nodos y las opciones disponibles.
https://stackoverflow.com/a/27095721/853295
Debe utilizar esta guía sobre cómo ocultar un nodo
varios valores que puede establecer desde el enlace anterior:
<appSettings>
<!-- Visibility will not filter to children -->
<add key="MvcSiteMapProvider_VisibilityAffectsDescendants" value="false"/>
<!-- Set default visibility provider -->
<add key="MvcSiteMapProvider_DefaultSiteMapNodeVisibiltyProvider" value="MvcSiteMapProvider.FilteredSiteMapNodeVisibilityProvider, MvcSiteMapProvider"/>
</appSettings>
Una vez que haya añadido la configuración de la aplicación, agregue lo siguiente a cualquier nodo que desee ver en las rutas de navegación pero no en el menú:
visibility="SiteMapPathHelper,!*"
(SiteMapPathHelper - el nodo es visible en la SiteMapPath, * - que es invisible para el resto de los controles!)
por ejemplo:
<mvcSiteMapNode title="Administration" area="Admin" clickable="false" visibility="SiteMapPathHelper,!*" />
Otras opciones disponibles:
Tipo .......................... Lo que afecta
CanonicalHelper ....... El asistente Canonical HTML Helper
MenuHelper .............. El menú HTML Helper
MetaRobotsHelper .... El Asistente de HTML de Meta Robots
SiteMapHelper .......... El HTML de SiteMap Helper
SiteMapPathHelper ... el SiteMapPath HTML ayudante
SiteMapTitleHelper ... el ayudante Título HTML
XmlSiteMapResult .... la salida de mapas de sitio XML del punto final /sitemap.xml
- 1. ASP.NET MVC SiteMap
- 2. ASP.Net MVC Ocultar/Mostrar elementos del menú según la seguridad
- 3. Asp.net MVC Visible/ocultar
- 4. ASP.NET MenuItem Estilos individuales
- 5. Sistema de menú dinámico Asp.net MVC
- 6. Aplicación web ASP.NET MVC en tiempo real
- 7. ASP.NET MVC: ¿alternativa al proveedor de funciones?
- 8. ¿Puedo ocultar/mostrar asp: elementos de menú basados en la función?
- 9. Crear un menú desde el archivo web.sitemap en ASP.NET
- 10. Obtiene el valor del menú desplegable deshabilitado en asp.net mvc
- 11. cómo crear google sitemap para el sitio mvc?
- 12. ASP.NET MVC - menú para diferentes roles
- 13. ASP.NET MVC Cómo administrar el contenido del usuario utilizando el proveedor de membresía ASP.NET
- 14. ¿Cómo puedo crear un menú con pestañas en ASP.NET MVC?
- 15. Cómo implementar un proveedor de caché personalizado con ASP.NET MVC
- 16. ¿Cómo agregar elementos en el menú emergente?
- 17. ¿Cómo ocultar elementos en el diseño gráfico?
- 18. menú contextual jquery desactivar elementos de menú
- 19. Implementación de proveedor de perfil personalizado en ASP.NET MVC
- 20. Mostrar/Ocultar enlaces en una vista ASP.Net MVC
- 21. Menú de navegación con resaltado en Asp.NET MVC?
- 22. Autenticación API web ASP.NET MVC 4 con proveedor de membresía
- 23. ASP.NET MVC Proveedor de membresía personalizado Error Web.config
- 24. Crear un menú desplegable en C# ASP.NET MVC
- 25. ASP.NET MVC 3 Ninject suscripciones personalizado y proveedor de funciones
- 26. Ocultar un elemento de menú en MFC
- 27. ¿Cómo puedo ocultar un repetidor en ASP.NET C# si el DataSource no contiene elementos?
- 28. ASP.NET MVC Open Source Aplicaciones del mundo real
- 29. jQuery ocultar el menú desplegable al hacer clic en cualquier lugar menos en el menú
- 30. Cómo integrar el proveedor de membresía de IoC con ASP.NET MVC
Esta es la solución más fácil, ya que hace no requiere código adicional. –