2012-05-04 2 views
1

Это ситуация. У меня есть сайт главной страницы.
Мастер, который содержит другую главную страницу Shop.Master.
Внутри Shop.Master есть ContentPlaceHolder, который загружает Something.aspx.
В верхней части главной страницы есть надпись [lblText].
Страница Something.aspx содержит текстовое поле [boxInput] и кнопку [btnButton].
То, что я пытаюсь выполнить, - это когда я нажимаю кнопку [btnButton], значение lblText.Text устанавливается на содержимое [boxInput].Измените Label.Text в вложенных главных страницах из содержимого на кнопке

Вот абстрактный взгляд на проблему. enter image description here

Надеюсь, вы, ребята, можете мне помочь. На этот раз Google не очень помогает.

Заранее спасибо.

+0

Попробуйте http://msdn.microsoft.com/en-us/library/xxwa0ff0%28v=vs.100%29.aspx – fankt

+0

ТНХ для быстрого ответа, но я Allready проверил эту ссылку , Я все еще не могу понять, как это сделать в вложенных мастер-страницах. – finxie

ответ

2

попробовать, как это. может это помогает

 ContentPlaceHolder plchldr= this.Master.Master.FindControl("YourMainMasterContentID") as ContentPlaceHolder; 
      Label lbl = plchldr.FindControl("lblText") as Label; 
      if(lbl !=null) 
      { 
       lbl.Text="SomeText" 
      } 
+0

Можете ли вы сказать мне, что '' MainContent'' находится в 'FindControl()'? – finxie

+0

ваш ConentPlaceHolder для ParentMaster –

1

Это, как правило, немного странная проблема. Единственный способ, которым я был в состоянии решить эту проблему в прошлом, что-то вроде:

((MasterPageType)this.Master).lblText = "Whatever"; 

Вам может понадобиться пузыри до двух мастеров-страниц, в соответствии с вашей конкретной ситуацией:

((MasterPageRootType)((MasterPageType)this.Master).Master).lblText = "Whatever"; 

Это, очевидно, не удастся, если вы измените свою Masterpage на другой тип.

(я был возрасты, так как я сделал WebForms, так что простите меня, если это не 100%)