Как определить текущее значение Page.Title из UserControl - PullRequest
0 голосов
/ 03 августа 2010

У меня есть MasterPage, несколько страниц контента - каждая из страниц контента имеет UserControl.

В MasterPage я устанавливаю Page.Title программно на основе Page_Init «Request.UserAgent.Contains ....», чтобы страницы содержимого заканчивались различными заголовками страниц, основанными на этом.

Для каждой страницы содержимого заголовок имеет пустое значение (Title = ""), но при отображении страницы прагматически сгенерированный заголовок страницы отображается на вкладке браузера.

В коде UserControl мне нужно получить доступ к значению Page.Title страницы содержимого (родительской страницы) и, исходя из этого, отобразить некоторый текст:

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

Тем не менее, мой ярлык остается пустым при использовании этого кода. Каким образом мне нужно определить текущее Page.Title на то, что MasterPage установил как?

C # Пожалуйста

Ответы [ 2 ]

1 голос
/ 03 августа 2010
    If(this.Parent.Page.Title == "something") 
    {
        Label.Text = "something"; 
    } 
        else if (this.Parent.Page.Title == "somethingElse")
    {
        label.Text = "somethingElse";
    }

вы также можете использовать this.Master.Page.Title, если вы ВСЕГДА устанавливаете заголовок на главной странице.

Кроме того, помните, что каждая страница имеет жизненный цикл .Если вы проверяете заголовок до того, как заголовок установлен, он вернет пустую строку.

Чтобы проверить код, попробуйте жестко кодировать заголовок на главной странице и посмотрите, работает ли ваш код.Как только вы узнаете, что код фактически извлекает заголовок из родительского элемента, вам необходимо убедиться, что вы устанавливаете заголовок страницы ПЕРЕД тем, как вы попытаетесь выполнить опрос.

0 голосов
/ 03 августа 2010

this.Master.Page.Title должен дать вам заголовок мастер-страницы, который вы можете проверить и установить на что хотите.

this.Parent.Page.Title просто дает вам родительский контроль Страницы, который не обязательно является Мастером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...