¿Cómo utilizar masterPage?

1. Cree una MasterPage con un sufijo .master, como x.master.

Utilice para definir el espacio. Por ejemplo:

2. página.

(1) Seleccione "seleccionar página maestra" en el cuadro de diálogo NewItem y seleccione la MasterPage creada en el paso anterior. En el código generado, el atributo MasterPageFile especifica la ubicación de la MasterPage:

< %@ Page Language="VB" MasterPageFile="~/x.master" Title="Página sin título" %>

(2) Utilice en la página para agregue contenido a los espacios vacíos correspondientes:

(3) Contenido

(4) La página de contenido no tiene

3. , puede utilizar varios idiomas para escribir varias partes de la página.

4. Además de especificar MasterPage en <%@ Page %>, también puede especificarlo en web.config:

< system.web

(1) Después de esta definición, si se selecciona la página maestra al crear una página, la página maestra se puede usar sin especificarla en <%@ Page %>.

(2) Otro las páginas deben usar Si es una MasterPage diferente, simplemente use el primer método para anular explícitamente la configuración en web.config en la directiva Page.

(3) Puede especificar MasterPage solo para un grupo de páginas. El siguiente ejemplo utiliza el elemento de ubicación de web.config para configurar diferentes MasterPages para las páginas en el directorio de administración.

5. De forma predeterminada, el título está en. Después de especificarlo en MasterPage, otras páginas específicas usarán este título.

En una página específica, hay dos formas de modificar el título:

a <%@ Título de la página. ="test " %>

b. En el código: protected void Page_LoadComplete(remitente del objeto, EventArgs e) {Master.Page.Title = "Hello";}

6. Acceda a las propiedades y controles de MasterPage.

(1) Utilice el atributo Master para acceder.

a. Supongamos que hay una Etiqueta1 en MasterPage, entonces la página de contenido puede ser así:

protected void Page_LoadComplete(objeto remitente, EventArgs e)

{string text = (Master.FindControl("Label1") as Label).Text;}

b. Secuencia de carga de la página: Para obtener el valor establecido en Page_Load de MasterPage, debe estar en Page_LoadComplete de la página de contenido Ven y escribe.

(2) El método FindControl() mencionado anteriormente para buscar controles en MasterPage es un método de enlace tardío y generalmente no es seguro. Debido a que depende de si esta etiqueta existe en MasterPage, si se elimina, provocará un error. Un mejor enfoque es usar atributos para encapsular el acceso a sus controles en MasterPage; si usa FindControl(), siempre verifique si el resultado es nulo.

7.

(1) Simplemente especifíquelo directamente entre las etiquetas .

(2) Si no se vuelve a especificar la subpágina, se utilizará el contenido predeterminado.

8. Especificar la página maestra mediante programación

protected void Page_PreInit(remitente del objeto, EventArgs e)

{Page.MasterPageFile = "~/x.master "; }

9. Página maestra anidada

La página maestra puede heredar de una página maestra de nivel superior, pero al crear una página maestra secundaria en VS2005, no existe soporte predeterminado. .

(1) Suponga que hay un A.master,

(2) Primero cree un B.master ordinario,

(3) Luego elimínelo en además de las otras partes de la directiva Page.

(4) Modifique la Directiva de página a lo siguiente y agregue el PlaceHolder que desea definir:

<%@ Master MasterPageFile="~/A.master" %>

¡Hola!

(5) Subpáginas generadas por plantillas anidadas El modo de diseño de VS2005 no estará disponible.

10. Páginas maestras específicas del contenedor

(1) Para ser compatible con diferentes navegadores, asp.net 2.0 admite múltiples páginas maestras. La apropiada se cargará automáticamente en. runtime. Master Page.

(2) La sintaxis es la siguiente:

<%@ Page Language="VB" MasterPageFile="~/Abc.master"

Mozilla: MasterPageFile="~/AbcMozilla.master"

Opera:MasterPageFile="~/AbcMozilla.master" %>

11. p>

Cuando un usuario solicita una página creada con Master Page, la secuencia de eventos que ocurren es la siguiente:

(1) inicialización del subcontrol de Master Page; (2) Inicialización del subcontrol de la página de contenido;

(3) Inicialización de la página maestra;

(4) Inicialización de la página de contenido;

(5) Página de contenido Page_Load;

(6) Page_Load de la página maestra;

(7) Carga del subcontrol de la página maestra

(8) Carga del subcontrol de la página de contenido;

Nota: debido a que el Page_Load de la página de contenido precede al Page_Load de la página maestra, si desea acceder al control del servidor en la página maestra, debe escribir código en el método Page_LoadComplete del contenido; página.

12. Uso del caché

(1) Solo en páginas de contenido puede usar la siguiente directiva para especificar el caché:

<%@ OutputCache Duration="10 " Varybyparam="None" %>

(Este comando hace que el servidor almacene en caché la página en la memoria durante 10 segundos)

(2) Si este comando se especifica para la página maestra , no arrojará un error por sí solo. Pero la próxima vez que su subpágina obtenga su página maestra, si la página maestra ha caducado, se generará un error.

De hecho, el almacenamiento en caché solo se puede especificar para subpáginas.