<head> <link rel="stylesheet" type="text/css" href="mystyle.css" /> </head>
A parte de cargar un css también sirven para poner cosas como la URL canónica de una pagina o la imagen que se muestra al compartir nuestra pàgina en Facebook. En este caso lo que hay que hacer es poner el head link rel="img_src" y en href el enlace de nuestra imagen característica.
Cuando tenemos una web compleja en la que se usan controles y todo se carga en una MasterPage puede ser complicado de saber controlar quien pone el head link para la imagen que muestra Facebook de nuestra web.
Pongamos por ejemplo que nuestra MasterPage siempre carga un head link por defecto. Pero claro, algunas páginas querrán poner su própia imágen.
Si definimos el método que os propongo en la MasterPage podremos llamarlo desde esta para poner el "img_src" por defecto. Si ahora definimos una interfície para la masterPage desde los controles o bien la página podremos llamar a este método para poner una "image_src" propia para una pagina en concreto.
Por cierto, una de las cosas que me gustan de este método es que crea un enlace con la URL absoluta en función del servidor a partir de una URL relativa.
public override void setHeadLink(string rel, string href) { string AbsoluteHref = string.Format("http://{0}{1}/{2}", Request.Url.Authority, (Request.ApplicationPath.Equals("/") ? string.Empty : Request.ApplicationPath), href); HtmlLink lnk = new HtmlLink(); lnk.ID = rel; lnk.Attributes.Add("rel", rel); lnk.Href = AbsoluteHref; head.Controls.Remove(head.FindControl(rel)); head.Controls.Add(lnk); }
Con esto ya sólo queda jugar con el ciclo de carga de la pagina o bien el de controls -> MasterPage -> Page para determinar cual llega el último y por tanto se queda.
Cap comentari:
Publica un comentari a l'entrada