He leído un buen número de publicaciones/artículos sobre cómo hacer esto y todavía no obtengo el título de la página del contenido. Mis páginas se procesan correctamente, excepto que no puedo obtener el título establecido de la página de contenido (todas las páginas tienen el título configurado según la página maestra). Aquí está el código subyacente para mi página principal:Cómo establecer el título de la página desde una página de contenido web en ASP.NET 3.5
Partial Class zSEO
Inherits System.Web.UI.MasterPage
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Page.Header.Title = "Dynamically set in Master page"
End Sub
End Class
Aquí está el resto de la página maestra:
<%@ Master Language="VB"
EnableTheming="true"
Inherits="zSEO"
CodeFile="zSEO.master.vb" %>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="container">
<div id="content">
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</div>
</div>
</form>
</body>
</html>
Sin embargo, es en el contenido de la página web que quiero establecer el valor de la de la página y he puesto esto en mi página de contenido de prueba:
Public Partial Class zShowAd
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Page.Header.Title = "Dynamically set TITLE value in the content(child) page"
End Sub
End Class
Curiosamente, no se puede conseguir el depurador se detenga en la línea superior de la página de contenido - sólo en el correspon línea de ding en la página maestra. Claramente, estoy confundido sobre esto.
He leído que hay otras maneras de hacerlo, pero esto parecía ser posible por lo que leí en el tutorial de Scott Mitchell en: Dynamically setting the Page Title in ASP.NET. Específicamente, traté de seguir esto desde el artículo: "Además, si está utilizando páginas maestras, este código puede funcionar, tal como está escrito, desde la página maestra o la página ASP.NET que utiliza la página maestra. un escenario, la región debe definirse en la página maestra, pero la página ASP.NET puede acceder a ella a través de Page.Header. "
Gracias chicos. Creo que es un poco contrario a la intuición que el Page_Load de la página maestra vendría DESPUÉS de la carga de página de la página de contenido, pero ahora pensar en la página maestra como un control de usuario tiene más sentido. Por cierto, he descuidado el "Handles Me.Load" en el Page_Load en el archivo .aspx y tan pronto como lo agregué, el depurador se detuvo allí en un punto de interrupción. Muchas gracias. –