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.