/ / Як визначити поточне значення Page.Title з UserControl - c #, asp.net, user-controls, master-pages

Як визначити поточний значення Page.Title з UserControl - c #, asp.net, елементи керування користувачами, майстер-сторінки

У мене є MasterPage, кілька сторінок вмісту - кожна із сторінок вмісту має UserControl.

У MasterPage я встановлюю Page.Title програмно на основі Page_Init "Request.UserAgent.Contains ....", так що сторінки вмісту отримують різні назви сторінок на основі цього.

Кожна сторінка вмісту має заголовок порожнім (Заголовок = ""), але коли сторінка відображається, на вкладці браузера відображається прагматично сформований заголовок сторінки.

У наведеному нижче коді UserControl мені потрібно отримати доступ до сторінки вмісту (батьківської сторінки) Сторінки. Значення заголовка та на основі цього відобразити текст:

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

Однак моя мітка залишається порожньою під час використання цього коду. Яким чином мені потрібно визначити поточну Сторінку. Заголовок до того, що встановила MasterPage?

C # Будь ласка

Відповіді:

1 для відповіді № 1
    If(this.Parent.Page.Title == "something")
{
Label.Text = "something";
}
else if (this.Parent.Page.Title == "somethingElse")
{
label.Text = "somethingElse";
}

ви також можете використовувати this.Master.Page.Title якщо Ви ЗАВЖДИ встановлюєте заголовок на головній сторінці.

Також пам’ятайте, що кожна сторінка як Життєвий цикл. Якщо ви перевіряєте заголовок до встановлення заголовка, він поверне порожній рядок.

Щоб перевірити код, спробуйте жорстко закодувати заголовок уголовну сторінку та перевірте, чи працює ваш код. Коли ви дізнаєтесь, що код насправді витягує заголовок з батьківського, то вам потрібно переконатись, що ви встановлюєте заголовок сторінки ДО того, як спробувати його опитати.


0 для відповіді № 2

this.Master.Page.Title повинен дати вам назву головної сторінки, яку ви можете протестувати та встановити на будь-який смак.

this.Parent.Page.Title просто дає вам батьківський контроль сторінки, який необов’язково є головним.