Используйте свойства для связи от вашего Page
до вашего MasterPage
и используйте свойства для связи от вашего MasterPage
к UserControl
.
Чтобы получить ссылку на элемент управления в вашем MasterPage
, вы должны предоставить публичное свойство, которое возвращает его:
Например (в MasterPage):
public Controls_Test MyControl
{
get
{
return Controls_TEST1;
}
}
И вы можете вызывать это свойство с одной из ваших страниц ContentPages следующим образом (например, если тип вашего мастера называется « SiteMaster »):
protected void Page_Load(object sender, EventArgs e)
{
((SiteMaster)Page.Master).MyControl.Title = "TEST";
}
Как правило : чем больше вы инкапсулируете свои элементы управления, тем более надежным, отказоустойчивым, обслуживаемым и расширяемым будет ваш код.
Следовательно, было бы лучше предоставить доступ только к Заголовку, а не ко всему UserControl.
В MasterPage
:
public String Title
{
get
{
return Controls_TEST1.Title;
}
set
{
Controls_TEST1.Title = value;
}
}
В ContentPage
:
((SiteMaster)Page.Master).Title = "TEST";
Таким образом, вы можете изменить логику и элементы управления в UserControl
и MasterPage
без проблем на ваших страницах, которые уже получили прямой доступ к UserControl
.