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

发布于 2024-08-08 10:22:31 字数 92 浏览 6 评论 0原文

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

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

我该怎么做呢?

I have a few content pages that inherit from BasePage and use a Master Page.

From the BasePage.cs file, I need to call a method defined in the Master Page.

How would I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

℉絮湮 2024-08-15 10:22:31

这应该可以做到:

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

您可能还必须以编程方式在基页中设置母版页文件。我们在 OnPreInit 函数中执行此操作。

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

This should do it:

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

You might have to set the master page file in your base page programmatically as well. We do it in the OnPreInit function.

this.MasterPageFile = "~/masterPage.master";
薔薇婲 2024-08-15 10:22:31

您可以使用

Page.Master

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

You can use

Page.Master

You can than cast that property to your specific masterpage type.

善良天后 2024-08-15 10:22:31

您可以使用强类型母版页。另请参阅此处

You can use Strongly Typed Master Pages. Also, see here.

回眸一笑 2024-08-15 10:22:31

假设您有一个下面给出的属性可以在母版页中启用标头:

母版页代码:

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

希望方法的情况也类似。

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

谢谢,

Lets say you have a property given below to enable header in Master Page:

Master Page Code:

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

Now if you want to call this Property from any other base class or any other page then you can write code as follow:

DirectCast(Master, DefaultMaster).EnablePageHeader = False

Hope similar is the case of Methods too.

Please respond if the code above helped you are if there is any mistake in it.

Thanks,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文