Использование наследования с вложенными главными страницами - PullRequest
3 голосов
/ 29 февраля 2012

Краткое описание проблемы:

Я хотел бы создать главную страницу, и из этой вложенной главной страницы, и, наконец, из этой веб-формы, которая инертирует из вложенной главной страницы.

Главная страница должна иметь свойство Foo , а вложенная главная страница должна иметь свойство Bar

В идеале я хотел бы, чтобы веб-форма имела доступ к этим унаследованным свойствам, однако, когда я изменяю класс code-behind моей веб-формы с System.Web.UI.Page на NestedMasterPage1 Я получаю RTE, в котором говорится, что мне нужно расширить класс 'System.Web.UI.Page'.

Могу поспорить, есть лучший способ сделать это, но пока я не могу его найти.

Спасибо за чтение !!!

Шаги для воспроизведения: Создайте Site1.Master и с этой страницы создайте NestedMasterPage1.master и из этого создайте WebForm1.aspx .

В коде для Site1.Master создать публичную собственность Foo

В коде позади NestedMasterPage1.master создать публичную собственность Бар

Изменить код для NestedMasterPage1 для наследования от Site1 вместо System.Web.UI.MasterPage

Изменить код для Webform1.aspx, наследуя от NestedMasterPage1 вместо System.Web.UI.Page

Все компилируется, при запуске выдается следующая ошибка:

«Сообщение об ошибке анализатора:« WebApplication2.WebForm1 »здесь недопустимо, поскольку оно не расширяет класс« System.Web.UI.Page »."

1 Ответ

4 голосов
/ 29 февраля 2012

Вы не можете этого сделать; страницы не наследуют свои главные страницы.

Вместо этого вы можете преобразовать свойство Master страницы в NestedMasterPage1 для доступа к мастер-классу.

...