asp.net header master-pages declarative

Las páginas maestras de ASP.NET: ¿cómo insertar el marcado en la sección principal dentro del aspx?



header master-pages (4)

Sé que puedo acceder a la sección principal de una página que usa una página maestra programáticamente de esta manera (en código subyacente):

Esto es solo un ejemplo (me gustaría insertar scripts y estilos, etc.):

this.Header.Title = "I just set the page''s title";

¿Hay una manera simple de hacer esto de manera declarativa en el archivo aspx mismo ?

A veces sería útil insertar un script de cliente o una declaración de estilo o un enlace a un recurso externo.


No he intentado esto.
Pero puede colocar el elemento HEAD dentro de html con la cadena adjunta en el marcado de estilo asp.

por ejemplo, <%=myTitle%>


Para la hoja de estilo puedes usar esto:

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

Para Meta Tags :

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

Pero no hay forma de agregar archivos de script externos al elemento del encabezado.

Puedes agregar el elemento interior del cuerpo de la siguiente manera:

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

Espero que esto ayude !


Puede declarar el título de la página en la declaración de la página de contenido.

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


Puede hacer esto usando regiones de contenido en la head , exactamente de la misma manera que lo haría en el body de la página. Por ejemplo, en tu página maestra:

<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>

Y luego en la página en sí algo como:

<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>