Как к элементам управления на ведущей странице asp.net от дочерней страницы

Я думаю, что Вы имеете в виду:

unsigned long n;
printf("%lu", n);   // unsigned long

или

long n;
printf("%ld", n);   // signed long
11
задан Lloyd 7 July 2009 в 14:48
поделиться

5 ответов

Самый простой способ - настроить свойство на главной странице, которое обрабатывает функции включения / выключения при вызове. Затем на дочерней странице установите директиву MasterType , чтобы получить строго типизированную ссылку на вашу главную страницу, чтобы избежать необходимости приведения типов.

Ваша дочерняя страница будет иметь:

<%@ MasterType VirtualPath="~/Site1.Master" %>

И для вызова свойства главная страница:

Master.MyLabel = false; // or true

Итак, на вашем главном сервере вы можете иметь:

public bool MyLabel
{
    get
    {
        return masterLabel.Enabled;
    }
    set
    {
        masterLabel.Enabled = value;
    }
}
18
ответ дан 3 December 2019 в 02:52
поделиться

Вам нужно использовать директиву MasterType в разметке вашей страницы

<%@ MasterType TypeName="Namespace.Etc.MyMasterPage" %>

Тогда вы сможете получить доступ к любому общедоступные свойства главной страницы страницы с использованием

this.Master.PropertyIWantToIntefereWith...

Надеюсь, это поможет

10
ответ дан 3 December 2019 в 02:52
поделиться
this.Master.FindControl("controlid").dosomethinghere
-1
ответ дан 3 December 2019 в 02:52
поделиться

I was looking for something similar, but this solution doesn't seem to work for me. I have a nested master page. Does this work for a nested master? When I implemented, it's not recognizing the control that I added to my master.

0
ответ дан 3 December 2019 в 02:52
поделиться

Вот пример того, как взаимодействовать с главными страницами с дочерних страниц.

На главной странице создайте свойство для элемента управления, к которому вы хотите получить доступ, скажем, метку под названием lblUser .. .

public string MyProperty
       {
        set { lblUser.Text = value; }
       }

На дочерней странице откройте свойство, которое вы только что создали, как в следующем примере ...

((MyMaster)this.Master).MyProperty = "Text changed from Sub Page";

Мы можем это сделать, потому что мастер - это просто класс, наследующий System.Web.UI.MasterPage.

А созданное нами свойство Label.Text является просто свойством мастер-класса (это имя будет конкретным именем вашей текущей мастер-страницы, в данном случае MyMaster).

Обратите внимание, что без приведение к вашему конкретному классу мастер-страницы, и это связано с тем, что вы добавили поле, которого нет в System.Web.UI.MasterPage, тип this.Master, но в вашем конкретном мастер-классе.

3
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: