SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => ASP .NET => Mensaje iniciado por: julianmj en Jueves 19 de Julio de 2007, 15:12

Título: Control Menú Y Sitemappath
Publicado 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
Título: Re: Control Menú Y Sitemappath
Publicado por: Javier Santamaria en Viernes 20 de Julio de 2007, 11:34
Hola Julian,
Podrias poner el codigo del menu?
Título: Re: Control Menú Y Sitemappath
Publicado por: julianmj en Lunes 23 de Julio de 2007, 16:29
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
Título: Re: Control Menú Y Sitemappath
Publicado por: julianmj en Lunes 23 de Julio de 2007, 16:34
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
Título: Re: Control Menú Y Sitemappath
Publicado por: Javier Santamaria en Martes 24 de Julio de 2007, 10:58
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
Título: Re: Control Menú Y Sitemappath
Publicado por: julianmj en Jueves 26 de Julio de 2007, 18:57
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
Título: Re: Control Menú Y Sitemappath
Publicado por: Javier Santamaria en Viernes 27 de Julio de 2007, 11:53
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".