Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2010, 12:45
jbastus
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Ubicación: barcelona
Mensajes: 28
Antigüedad: 21 años
Puntos: 0
estableciendo los meta title desde la Master.Page usando los datos del web.sitemap

Buenas tardes,

Siguiendo los tutoriales que he ido encontrando en distintas webs he conseguido poder establecer el meta title y el description de todas las páginas de mi site desde el Master.Page usando los datos del web.sitemap

Es relativamente sencillo:

Código:
if (SiteMap.CurrentNode["PageHeader"] != null)
{
lit_PageHeader.Text = SiteMap.CurrentNode["PageHeader"].ToString();
}

if (SiteMap.CurrentNode != null)
{
Page.Title = SiteMap.CurrentNode.Title;

if (SiteMap.CurrentNode["keywords"] != null)
{
HtmlMeta meta = new HtmlMeta();
meta.Name = "keywords";
meta.Content = SiteMap.CurrentNode["keywords"];
Page.Header.Controls.AddAt(1,meta);
}

if (SiteMap.CurrentNode.Description != null)
{
HtmlMeta meta = new HtmlMeta();
meta.Name = "Description";
meta.Content = SiteMap.CurrentNode.Description.ToString();
Page.Header.Controls.AddAt(2,meta);
}
}
Si queréis más información lo saque de este tutorial:
http://www.programminghelp.com/web-development/asp-net/using-sitemap-and-masterpages-to-set-meta-tags-in-asp-net-and-c/

Pero mi web usa 2 sitemap.providers dependiendo del idioma de elección del usuario.

He conseguido que los distintos controles web (menu, sitemappath, ...) usen el SiteMapProvider necesario en cada caso.

Lo que no consigo de ningún modo es poder cambiar el provider usado en la masterpage en el momento de establecer los metas.

Alguna idea?

Gracias.