Запись на страницу и мастер-страницу из пользовательского веб-элемента управления:
Лично мне нравится, что пользовательские элементы управления свободны, но это можно сделать следующим образом.
Мастер-страница:
public partial class Second : System.Web.UI.MasterPage
{
public void SecondMasterString(string text)
{
MasterOut.Text += text;
}
}
Необходима директива для WebForm1: чтобы страница могла писать на главную страницу
<%@ MasterType VirtualPath="~/DemoFolder/MasterPages/Second.master" %>
Методы записи на страницу и мастер-страницу:
public partial class WebForm1 : System.Web.UI.Page
{
public void SetPageOutput(string text)
{
// writes to page
this.PageOut.Text = text;
}
public void SetMaster(string text)
{
// writes to Master Page
this.Master.SecondMasterString(text);
}
}
Пользовательский контроль записывает как страницу, так и главную страницу:
public partial class WebUserControl1 : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
LegoLand.DemoFolder.MasterPages.WebForm1 page = (WebForm1)this.Parent.Page;
page.SetMaster("** From the control to the master");
page.SetPageOutput("From the control to the page");
}
}