Recuperando o título da página da página mestra
-
14-11-2019 - |
Pergunta
Para gerenciar o título da página em minhas páginas, tenho uma página mestra com ContentPlaceHolder no cabeçalho.
<head runat="server">
<asp:ContentPlaceHolder runat="server" ID="headContent">
</asp:ContentPlaceHolder>
</head>
Em cada uma das minhas páginas, adiciono as meta tags e o título da página da seguinte forma:
<asp:content id="Header" contentplaceholderid="headContent" runat="server">
<meta name="keywords" content="keyword1, keyword2" />
<meta name="description" content="page description" />
<%Page.Title = "My page title";%>
</asp:content>
Não consigo modificar o código nas páginas colocando o Page.Title
no OnInit
método da página.
Preciso acessar o título da página no codebehind da página mestra, mas sempre recebo um título vazio quando uso Page.Title
.
Solução
Usando <%Page.Title = "My page title";%>
você dizer implicitamente o ASP.NET para executar isso bloco de código incorporado durante a fase de renderização da página.
O que isso significa?Você não conseguirá obter esse valor antes da fase de renderização da página.Supondo que você esteja tentando obter esse valor um pouco antes da renderização.É por isso que você obtém a string vazia.
A solução alternativa pode ser definir seu Title
propriedade do <%@ Page
diretiva no início da sua página, por exemplo:
<%@ Page Title="My Title Goes Here" Language="C#" ... %>
Ao definir isso, você poderá acessar o Page.Title
propriedade da sua página mestra um pouco antes de ocorrer a renderização da página.
Outras dicas
Apenas use
<title>My page title</title>