将主页中的Body标记暴露给ASP.NET中的内容页面

时间:2012-11-19 13:12:56

标签: asp.net master-pages document-body content-pages

我想将<body>的{​​{1}}公开给我的Master Page。所以我这样做:

Master.aspx

Content Pages

Master.aspx.vb

<body id="MasterPageBodyTag" runat="server">

ContentPage.aspx

 Public Property Messaging() As Messaging
        Get
            Return mMessaging
        End Get
        Set(ByVal value As Messaging)
            mMessaging = value
        End Set
  End Property

  Public Property BodyTag() As HtmlGenericControl
        Get
            Return MasterPageBodyTag
        End Get
        Set(ByVal value As HtmlGenericControl)
            MasterPageBodyTag = value
        End Set
End Property

ContentPage.aspx.vb

<%@ MasterType VirtualPath="~/my.master" %>

但是,我不仅在内容页面中没有Master.BodyTag.Attributes.Add("onload", "MyScript()") ,而且还收到错误,我无法访问BodyTag属性(错误:不是大师),之前工作正常。可能是什么原因?

1 个答案:

答案 0 :(得分:0)

我不是VB的专家。但是,在您尝试访问特定于您自定义母版页的属性和方法之前,您似乎首先需要对我进行投射。对自定义母版页的类类型的引用。我想在这种情况下,自动定制无法完成。因此,您可以尝试执行以下操作:

Dim myCustomMaster As Site = CType(me.Master, Site)

其中网站类型是自定义主类类型。