Как получить доступ к пользовательскому элементу управления в главной странице со страницы содержимого? - PullRequest
5 голосов
/ 20 декабря 2008

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

Спасибо!

Ответы [ 4 ]

13 голосов
/ 20 декабря 2008

Вы можете использовать два метода. Первый - с помощью Page.Master.FindControl('controlID'). Затем вы можете привести его к типу вашего пользовательского элемента управления. Второй способ заключается в добавлении тега <%@ MasterType VirtualPath=""> ИЛИ <%@ MasterType TypeName=""%> на страницу aspx. В VirtualPath добавьте виртуальный путь к главной странице или класс в TypeName. Вы можете получить доступ ко всему с помощью intellisense.

5 голосов
/ 21 февраля 2011

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

UserControl uch = Page.Master.FindControl("ucHeader1") as UserControl;
PlaceHolder phProxylist= ucHeader1.FindControl("phProxy") as PlaceHolder;
DropDownList ddlproxylist1 = ucHeader1.FindControl("ddlProxyList") as DropDownList;
phProxylist.Visible = false;

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

4 голосов
/ 20 декабря 2008

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

1 голос
/ 20 декабря 2008

Использование публичной собственности будет работать. В методе FormLoad страницы содержимого вы можете сделать что-то вроде этого (VB):

Dim myMaster as MyMasterPage = CType(Page.Master, MyMasterPage)
myMaster.MyUserControl.Text = "Hello!"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...