A MasterPage - это действительно дочерний элемент управления, на котором он контролирует. Вы можете контролировать MasterPage, как любой другой элемент управления на своей странице (почти). Все, что вам нужно сделать, это получить ссылку на него.
Вы добавляете свойство в код вашего MasterPage, поэтому его код может выглядеть примерно так:
public partial class _default : System.Web.UI.MasterPage
{
protected string m_myString = string.Empty;
public string myString
{
get { return m_myString; }
set { m_myString = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
Тогда вы должны бросить свойство this.Master вашего MasterPage
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Cast here to get access to your MasterPage
_default x = (_default)this.Master;
x.myString = "foo";
}
}
См. Обновление, которое я только что добавил к исходной проблеме. Обычно я использовал ваш метод, но частичное обновление страницы усложняет ситуацию. – gfrizzle 2008-12-11 21:29:13