Изменить свойство «видимой» панели на MasterPage с дочерних страниц - PullRequest
1 голос
/ 11 июня 2010

Я хочу показать некоторую панель с меткой, расположенную на MasterPage, внутри его дочерних страниц. Я уже сделал кодирование на MasterPage:

public class MyMaster : MasterPage
{
     public void ShowPanel(string pMessage)
     {
          labelInside.Text = pMessage;
          myPanel.visible = true;
     }
}

Затем я делаю вызовы сдочерние страницы:

public void ShowPanel(string pMessage)
{
     MyMaster masterPage = this.Master as MyMaster;
     masterPage.ShowPanel(pMessage);
}

Это «работает» нормально, но ничего не показывает, так как мне нужно, чтобы страница была «обновлена» «ajax-способом», например UpdatePanel, что я могуне используется, потому что триггер находится на другой странице, верно?

Мне действительно нужно, чтобы это работало ... даже если у вас есть другой совершенно другой способ сделать это, я был бы признателен.

Ответы [ 3 ]

1 голос
/ 11 июня 2010

Вы должны поместить панель внутри UpdatePanel (условно UpdateMode) и в ShowPanel вызвать ее Метод обновления .

0 голосов
/ 11 июня 2010

вы можете создать подкласс для своей страницы и выставить свойство, скажем .. MyPage.FooVisible

чем в вашей мастер-странице, вы можете:

myPage = this.Page as MyPage
if (myPage != null) myPage.FooVisble = false;

на своей странице вы можете справиться с этим любым способом,

FooVisible {
set { SomeElement.Visible = value; }
}

псевдокод конечно :)

0 голосов
/ 11 июня 2010

Рассматривали ли вы, чтобы на главной странице была только метка-заполнитель для метки, но каждая дочерняя страница помещала собственную метку контента в эту метку-заполнитель, которую она затем имела бы полный контроль?

...