2010-02-16 18 views

Respuesta

4

Al asignar una página .aspx existente a una página maestra todos los elementos básicos de una página web ahora reside con la página maestra como la cabeza, cuerpo, título, etc. Por lo tanto, si su página usa estos elementos para fines como dar título a la página web, definir javascripts en la etiqueta ... todas estas operaciones ahora deben hacerse en la página maestra. Pero si necesita asignar estos elementos a los valores respectivos en el nivel de página secundario, entonces necesita definir un marcador de posición de contenido en la etiqueta principal de la página maestra. Otro titular de lugar de contenido debe colocarse dentro del cuerpo de la página maestra.

En la página de niños, tendrá dos marcadores de posición de contenido, uno para la cabeza y otro para el cuerpo. Después de lo cual tendrá que poner el código necesario en los respectivos titulares de lugar de contenido.

+2

Al menos en los últimos trabajos de ASP.NET, puede establecer el título de la página en la página de contenido con bastante facilidad con 'this.Title =" something "' para anular el título de la página maestra. Además, puede usar llamadas a 'ClientScript.RegisterClientScriptBlock' o' ClientScript.RegisterStartupScript' dentro de la página de contenido para agregar javascript; si utiliza nombres idénticos para scripts idénticos en contenido y maestro, incluso si realiza las mismas llamadas en ambos lugares, solo uno se incrusta en la página de resultados resultante. – patridge

15

Agregue esto a su declaración aspx página existente:

MasterPageFile="~/SomeMasterPage.Master" 

También debería mencionar que añadir página de contenido específico de su página también hay que añadir las etiquetas de contenido (que se define en su página maestra) a su aspx página también:

<asp:Content ID="myContent" ContentPlaceHolderID="someContent" runat="server"> 

     // Page Content goes here 

</asp:Content> 

Si usted no pone estos en continuación, el contenido predeterminado de su página maestra se utiliza en su lugar.

+2

¡Y también debe agregar las etiquetas ! – jmservera

2

Usando la directiva nivel de página en una página aspx:

<%@ page language="C#" masterpagefile="~/Default.Master" codebehind="..." inherits="..." title="..." %> 
0

Todas estas respuestas son excelentes, ¡especialmente las de HotTester!

Quiero enfatizar detalles esenciales al convertir una página aspx ya existente a una página de contenido: eliminar etiquetas html y head y sus contenidos excepto body tag - eliminar las etiquetas body PERO MANTENER su contenido - eliminar la etiqueta PERO MANTENER su contenido. Como se explica aquí Convert ASPX pages to content pages?. A continuación, coloque ese contenido en el propietario del lugar del contenido del cuerpo en la página secundaria.

Si tiene contenido en la etiqueta de encabezado que debe permanecer en la página de contenido y no debe colocarse en la página maestra, elimine la etiqueta de encabezado pero MANTENGA su contenido y coloque el contenido en el lugar del contenido del encabezado de la página maestra etiqueta.

Cuestiones relacionadas