Hej, Hej Hej, Hej igen,metataggar för contentsidan i Masterpages
Är det någon som vet hur jag kan lägga in metataggar för contentplaceholder sidan när jag använder masterpages? Sv: metataggar för contentsidan i Masterpages
Jag tror att codebehinden för din masterpage är ett bra ställe att lägga till metataggar. Då kan man få en centraliserad plats för att t ex läsa in dessa från en databas.
Man kan göra detta genom följande.
//Lägg till nyckeord
string strKeywords = "nyckelord1, nyckelord2";
HtmlMeta metaKeywords = new HtmlMeta();
metaKeywords.Name="keywords";
metaKeywords.Content=strKeywords;
Page.Header.Controls.Add(metaKeywords);
Du kan se fler exempel taggar man kan lägga in i min blogg:
www.codeodyssey.se/blog.aspx?id=28
Mvh Jesper
www.codeodyssey.se
Sv:metataggar för contentsidan i Masterpages
Tack för ditt svar. Men om jag lägger detta på själva masterpage sidan, hur styr jag till vilken content sida metataggarna gäller...? Jag vill ju ha olika metataggar för själva masterpagesidan och sedan olika taggar för alla contentsidor som hör till den aktuella mastersidan. Är det inte meningen att jag ska lägga detta i codebehindsidan för den aktuella contentsidan för att få metataggarna på just den sidan...? Ska iaf testa det och försöka omvandla din kod till VB.
Mvh ThereseSv: metataggar för contentsidan i Masterpages
Det tog lite tid innan jag svarade. Jag använder följande kod rad för att ta reda på vilken sida man är i.
<code>
string strCurrentPage = Request.FilePath.ToString().Remove(0, 1);
</code>
Sen läser jag ur min databastabell för att matcha det filnamnet mot rätt rad och få fram värdena för just den sidan.
<code>
string strSQL="SELECT SitePage.Id,SitePage.Title,SitePage.HeadTitle,SitePage.Body,SitePage.Keywords, SitePage.MetaRobots";
strSQL += " FROM SitePage WHERE SitePage.PagePath='" + strCurrentPage + "'";
</code>
Nu har jag dock fått nys på en annan lösning genom att lägga till meta data i web.sitemap filen. Har inte provat själv men det verakr vara en smart lösning. Man kan göra typ så här:
<code>
SiteMapNode node = SiteMap.CurrentNode;
if (node != null)
{
System.Web.UI.Page page = sender as Page;
if (page != null)
{
HtmlMeta metatag;
if (!page.Header.ToString().Contains("name=\"description\""))
{
if (!String.IsNullOrEmpty(node.Description))
{
metatag = new HtmlMeta();
metatag.Name = "description";
metatag.Content = SiteMap.CurrentNode.Description;
page.Header.Controls.Add(metatag);
}
}
}
}
</code>
Läs även mer i min blog: www.codeodyssey.se/blog.aspx?id=28
/Jesper
Hoppas det har gett dig lite ideer.