C# ASPX: Как получить наследуемое свойство родительской страницы в элементе управления?
У меня есть страница aspx, которая наследует главную страницу, которая имеет защищенное свойство. Как это:
masterpage {защищенная строка propX..}
MyPage: главная страница
--- MyControl:UserControl
В коде MyControl я хотел бы получить доступ к propX
Есть идеи?
Спасибо!
3 ответа
Может быть, попытаться разыграть Page
собственностью myControl
класс для MyPage
учебный класс?
строковое значение = ((MyPage)this.Page).propX
И если вы хотите получить доступ к этому свойству из другого класса (например, myControl
), модификатор доступа свойства propX
должен быть установлен в internal
или же public
Я предположил, что вы разместили myControl
объект на MyPage
стр.
Вы могли бы изменить модификаторы доступа для строки. Может быть, установить его на внутренний.
Вы уверены, что наследуете от главной страницы? Добавление директивы MasterPage не означает, что она наследуется от нее. Обычно страница aspx должна прямо или косвенно наследоваться от System.Web.UI.Page.
Главные страницы не "наследуются", что означает, что к защищенным элементам нельзя получить доступ из класса страницы (или класса управления). Ваш лучший вариант - сделать объект публичным или внутренним.