Category Archives: Master Pages

Add meta tags dynamically to a page having a master page in Asp.Net

As a master page provides a common layout to all pages, and <head> tag is included in the master page itself instead of content page.  So one questing comes how to add different meta tags to all different pages (or dynamically generate meat tags) .

This post describes adding a meta tag in an dynamic page with dynamically generated content. This code can be used if you want to add meta tag to a page which is using Master pages.

Two approaches can be taken for this, one is using .net framework’s features, and second is by playing with “ContentPlaceHold”.

Approach 1 : Using .net framework’s features to add meta tags

Add the code below in page_load event of the content page.

Dim metaDescription As New HtmlMeta()
metaDescription.Name = “metaTagHeading (example: keywords, description)”
metaDescription.Content = “A description or content of meta tag here”
Me.Header.Controls.Add(metaDescription)


Approach 2 : Playing with “ContentPlaceHold”.

Step1

Put one content place holder in your master page in HEAD section, like::

<head id=”Head1″ runat=”server”>
<asp:ContentPlaceHolder runat=”server” id=”ContentHeaders”></asp:ContentPlaceHolder>
</head>

Step2

Now in the content (child) page, put this code:

<asp:Content ID=”Content2″ ContentPlaceHolderID=”ContentHeaders” runat=”server”>
<TITLE><%=pageTitle%></TITLE>
<META name=”keywords” content=”<%=varKeywords%>”>
<META name=”description” content=”<%=varDescription%>”>
</asp:Content>

Step3
In content page’s vb or cs file code:

Declare variables as below in the global declaration section (not in page load)

Protected pageTitle As String = “”
Protected varKeywords As String = “”
Protected varDescription As String = “”

Step4
Fill values in page_load event:

pageTitle = “Your Meta Tag ”
varKeywords = “Your Meta Tag ”
varDescription = “Your Meta Tag ”

**End of article**

For more articles updates and sourcecodes please visit dotnetcoderoom