2016-12-16 5 views
0

У меня есть общедоступная собственность на главной странице. Я хочу получить доступ к этому свойству из пользовательского элемента управления ascx.доступ к главной странице с помощью управления ascx

Моя главная страница называется master_public, и она находится в пространстве имен, называемом «master».

Так что я пытался писать:

dim m=ctype(page.master,master.master_public) 
dim foobar=m.foobar 

IntelliSense говорит, что master.master_public не существует.

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

Основная страница объявлена ​​как «частичный публичный класс». Но это имя, похоже, не признается.

Ответы здесь Accessing Master page control in ascx file, похоже, подразумевают, что это должно быть просто ... работать. Есть ли какой-либо атрибут или параметр или что-то, что я должен включить, чтобы сделать мастер-страницы доступными как типы классов?

+0

Попробуйте изменить элемент управления, чтобы он не привязан к одной конкретной главной странице. Например, введя требуемое значение в конструктор элемента управления. – CodeCaster

ответ

0

Добавьте следующее в верхней части формы (.aspx):

<%@ MasterType TypeName="master.master_public" %> 

выше директива подвергнет общественные член MasterPage в форму. Чтобы получить доступ к вашей собственности из формы, просто ссылки, как показано ниже:

Me.Master.YourProperty 

Поэтому для того, чтобы получить доступ к Masterpage публичной собственности от пользовательских элементов управления, добавленных в форму, просто приведение объекта главной страницы:

CType(Me.Page.Master, master.master_public).YourProperty 

 Смежные вопросы

  • Нет связанных вопросов^_^