Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/11/2008, 14:07
andresneo
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: menu personalizado en aplicacion web

Muy mala la ayuda anterior,

1. Crea tus site maps, por ejemplo Web1. sitemap, Web2.sitemap
2. Anda al web.config y agrega estos sitemap, que se definiran como proveedores, para este ejemplo la etiqueta sitemap debe quedar asi:

<siteMap defaultProvider="XmlSiteMapWeb1" enabled="true">
<providers>
<add name="XmlSiteMap1"
description="SiteMap Web1."
type="System.Web.XmlSiteMapProvider"
siteMapFile="Web1.sitemap"
securityTrimmingEnabled="true" />

<add name="XmlSiteMapWeb2"
description="SiteMap Web2."
type="System.Web.XmlSiteMapProvider"
siteMapFile="Web2.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>

4. En la pagina donde desplegarás los menus, en modo de diseño arrastra el objeto SiteMapDataSource y un Menu.

5. En el Menu, el atributo "Choose Datasource" selecciona el "SiteMapDataSource1"

6. Ahora nos toca llenar el SiteMapDataSource con los WebSiteMap dependiendo de los roles, como los roles vienen de una bdatos en la pagina debes recibir el rol con una "Session" por l que elcodigo seria algo asi:

protected void Page_Load(object sender, EventArgs e)
{
if (Session["rol"].ToString() == "administrador")
{
SiteMapDataSource1.SiteMapProvider = "XmlSiteMapWeb1";
}
else if (Session["rol"].ToString() == "jefe area")
{
SiteMapDataSource1.SiteMapProvider = "XmlSiteMapWeb2";
}

}

7. sino te muestra los menus, prueba colocando en los siteMaps el atributo rol = "*", ya que nosotros los roles los tomamos de una bdatos y no la controlamos por formulario. Ejemplo Web1.sitemaps:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Inicio" description="Inicio"
url="~/Index.aspx" >
<siteMapNode title="Udm"
description="Maestro Udm"
roles="*">
<siteMapNode title="Desplegar Udm"
description="Desplegar Unidades de Medidas"
url="~/Desplegar_Udm.aspx" />
<siteMapNode title="Crear Udm"
description="Crear Unidades de Medidas"
url="~/Crear_Udm.aspx" />
<siteMapNode title="Editar Udm"
description="Editar Unidades de Medidas"
url="~/Editar_Udm.aspx" />
<siteMapNode title="Eliminar Udm"
description="Eliminar Unidades de Medidas"
url="~/Eliminar_Udm.aspx" />
</siteMapNode>
<siteMapNode title="Subsecciones"
description="Maestro de Subsecciones"
roles="*">
<siteMapNode title="Training"
description="Training"
url="~/Training.aspx" />
<siteMapNode title="Consulting"
description="Consulting"
url="~/Consulting.aspx" />
<siteMapNode title="Support"
description="Support"
url="~/Customers/Support.aspx" />
</siteMapNode>
</siteMapNode>
</siteMap>