从内容页面的基类获取对母版页的引用

时间:2009-10-21 18:04:29

标签: asp.net master-pages

我有一些内容页面从BasePage继承并使用母版页。

从BasePage.cs文件中,我需要调用母版页中定义的方法。

我该怎么做?

4 个答案:

答案 0 :(得分:1)

这应该这样做:

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

您可能还必须以编程方式在基页中设置母版页文件。我们在OnPreInit函数中完成它。

this.MasterPageFile = "~/masterPage.master";

答案 1 :(得分:0)

您可以使用

Page.Master

您可以将该属性强制转换为特定的母版页类型。

答案 2 :(得分:0)

您可以使用Strongly Typed Master Pages。另请参阅here

答案 3 :(得分:0)

假设您在下面给出了一个属性,以便在母版页中启用标题:

母版页代码:

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

希望类似于方法的情况。

如果上面的代码有任何错误,请回复。

谢谢,