/ / Como determinar o valor atual de Page.Title do UserControl - c #, asp.net, controles de usuário, páginas-mestre

Como determinar o valor atual de Page.Title de UserControl - c #, asp.net, controles de usuário, páginas mestras

Eu tenho uma MasterPage, várias páginas de conteúdo - cada uma delas possui um UserControl.

Na MasterPage, estou definindo o Page.Title programaticamente com base em Page_Init "Request.UserAgent.Contains ....", para que as páginas de conteúdo terminem com títulos de páginas diferentes com base nisso.

Cada página de conteúdo tem seu Título definido em branco (Title = ""), mas quando a página é renderizada, o título da página gerado de forma pragmática aparece na guia do navegador.

No código UserControl, preciso acessar o valor Page.Title da página de conteúdo (página pai) e, com base nisso, exibir algum texto:

If(Page.Title == "something")
{
Lable.Text = "something";
}
else if (Page.Title == "somethingElse")
{
lable.Text = "somethingElse";
}

No entanto, meu rótulo permanece em branco ao usar esse código. Qual é a maneira como preciso determinar o Page.Title atual para o que a MasterPage definiu?

C # por favor

Respostas:

1 para resposta № 1
    If(this.Parent.Page.Title == "something")
{
Label.Text = "something";
}
else if (this.Parent.Page.Title == "somethingElse")
{
label.Text = "somethingElse";
}

você também pode usar this.Master.Page.Title se você estiver SEMPRE definindo o título na página principal.

Lembre-se também de que todas as páginas como Ciclo da vida. Se você estiver verificando o título antes que o título seja definido, ele retornará uma sequência em branco.

Para testar o código, tente codificar um título no diretóriopágina mestra e veja se seu código está funcionando. Depois que você souber que o código está realmente puxando o título dos pais, será necessário garantir que você esteja definindo o título da página ANTES de tentar pesquisá-lo.


0 para resposta № 2

this.Master.Page.Title deve fornecer o título da página mestra, que você pode testar e definir como desejar.

this.Parent.Page.Title apenas fornece a você o controle principal da página, que não é necessariamente o mestre.