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.

Главные страницы не "наследуются", что означает, что к защищенным элементам нельзя получить доступ из класса страницы (или класса управления). Ваш лучший вариант - сделать объект публичным или внутренним.

Другие вопросы по тегам