ASP.NET masterpages: how to insert markup in the head section inside the aspx? ASP.NET masterpages: how to insert markup in the head section inside the aspx? asp.net asp.net

ASP.NET masterpages: how to insert markup in the head section inside the aspx?


You can do this by using content regions in the head, in exactly the same way as you would in the body of the page. eg, In your masterpage:

<head>    <link type="text/css" rel="stylesheet" href="/styles/common1.css" />    <script type="text/javascript" src="/scripts/common1.js"></script>    <asp:contentplaceholder id="ExtraStylesAndScripts" runat="server" /></head>

And then in the page itself just something like:

<asp:content contentplaceholderid="ExtraStylesAndScripts" runat="server">        <link type="text/css" rel="stylesheet" href="/styles/extra1.css" />    <link type="text/css" rel="stylesheet" href="/styles/extra2.css" />    <script type="text/javascript" src="/scripts/extra1.js"></script>    <script type="text/javascript" src="/scripts/extra2.js"></script></asp:content>


For stylesheet you can use this :

HtmlLink cssRef = new HtmlLink();cssRef.Href = "addins/main.css";cssRef.Attributes["rel"] = "stylesheet";cssRef.Attributes["type"] = "text/css";Page.Header.Controls.Add(cssRef);

For Meta Tags :

HtmlMeta metaTag = new HtmlMeta();metaTag.Name = "author";metaTag.Content = "ScarletGarden";Page.Header.Controls.Add(metaTag);

But there is no way to add external script files to header element.

You can add inside body element by :

if (!ClientScript.IsClientScriptIncludeRegistered("myExternalScript")){   ClientScript.RegisterClientScriptInclude("myExternalScript", "js/myJSFile.js");}

Hope this helps !


You can declare the page title in the content page declaration.

<%@ Title="Page Title" Page Language="C#" AutoEventWireup="true" CodeFile="Subpage.aspx.cs" Inherits="Subpage" MasterPageFile="~/MasterPage.master" %>