SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => ASP .NET => Mensaje iniciado por: julianmj en Jueves 19 de Julio de 2007, 15:12
-
Hola, en mi proyecto tengo en el Master Page un menu atado a un SiteMapDataSource, y necesito que este menu al llegar a un nodo no siga avanzando, es decir, que no se actualice y se cargue desde el nodo al que se entró, sino que cuando llegue a un nodo determinado se quede ahi.
item1
item 1.1
item 1.2
item 1.3
item2
item 2.1
item 2.2
item 2.3
item 2.4
item 2.4.1
item 2.4.2
Lo que quiero decir es que, por ejemplo si entran al nodo 2.4, el menu no me muestre solo las opciones 2.4.1 y 2.4.2, sino todo el menú desde el nodo item 2, sin incluirlo.
Muchas Gracias
-
Hola Julian,
Podrias poner el codigo del menu?
-
Esto es lo que tengo de los menus:
<asp:SiteMapPath ID="MapaBasico" runat="server" SiteMapProvider="Basico"></asp:SiteMapPath>
<asp:Menu ID="MenuPrincipal" runat="server" DataSourceID="DataSourceMenu">
</asp:Menu>
<asp:SiteMapDataSource ID="DataSourceMenu" runat="server" SiteMapProvider="Basico" StartFromCurrentNode="True" ShowStartingNode="False" />
Gracias
-
Ademas de esto en el web.config
<siteMap defaultProvider="PorDefecto">
<providers>
<add siteMapFile="~/Mapas/Basico.sitemap" name="Basico" type="System.Web.XmlSiteMapProvider"/>
</providers>
</siteMap>
Creo que eso es todo
-
Prueba estas opciones:
1. <asp:SiteMapDataSource ID="DataSourceMenu" runat="server" SiteMapProvider="Basico" StartFromCurrentNode="False" ShowStartingNode="False" />
2. <asp:SiteMapDataSource ID="DataSourceMenu" runat="server" SiteMapProvider="Basico" StartFromCurrentNode="False" ShowStartingNode="True" />
Ya nos dices algo.
Saludos
-
Bueno, asi podria dejarlo
StartFromCurrentNode="False" ShowStartingNode="False"
pero lo que pasa es que el menu es bastante grande, y quisiera que cuando llegue a ciertos nodos, la propiedad ShowStartingNode cambiara a true, este cambio se haria desde las paginas que heredan de la Master Page que es donde esta el SiteMapDataSource o con alguna propiedad del SiteMap, creo yo...
¿Cómo puedo hacerlo?
Gracias
-
Y porque no lo dejas como
StartFromCurrentNode="False" ShowStartingNode="True"
desde el principio?
Si no lo puede poner asi desde el principio...
No lo he probado, pero supongo qeu funcionaria:
Podrias hacer un procedimiento en la Master Page que te cambiara esa propiedad. Ese procedimiento le llamas desde el page_load de la master page si el nivel de tu sitemap es el nivel "x".