Получить ссылку на мастер-страницу из базового класса страниц контента - PullRequest
0 голосов
/ 21 октября 2009

У меня есть несколько страниц контента, которые наследуются от BasePage и использую главную страницу.

Из файла BasePage.cs мне нужно вызвать метод, определенный на главной странице.

Как бы я это сделал?

Ответы [ 4 ]

1 голос
/ 21 октября 2009

Это должно сделать это:

    var masterPage = ((MasterPageType)Master);
or to access the function:
    ((MasterPageType)Master).SomeFunction();

Возможно, вам придется программно установить файл главной страницы на вашей базовой странице. Мы делаем это в функции OnPreInit.

this.MasterPageFile = "~/masterPage.master";
0 голосов
/ 21 октября 2009

Допустим, у вас есть свойство, указанное ниже, чтобы включить заголовок на главной странице:

Код главной страницы:

Public Property EnablePageHeader() As Boolean
    Get
        If ViewState("EnablePageHeader") Is Nothing Then
            ViewState("EnablePageHeader") = True
        End If
        Return DirectCast(ViewState("EnablePageHeader"), Boolean)
    End Get
    Set(ByVal value As Boolean)
        ViewState("EnablePageHeader") = value
    End Set
End Property

Теперь, если вы хотите вызвать это свойство из любого другого базового класса или любой другой страницы, вы можете написать код следующим образом:

DirectCast (Master, DefaultMaster) .EnablePageHeader = False

Надеюсь, что аналогично, это относится и к методам.

Пожалуйста, ответьте, помог ли вам приведенный выше код, если в нем есть какая-либо ошибка.

Спасибо

0 голосов
/ 21 октября 2009

Вы можете использовать Сильно типизированные мастер-страницы . Также см. здесь .

0 голосов
/ 21 октября 2009

Вы можете использовать

Page.Master

Затем вы можете привести это свойство к конкретному типу главной страницы.

...