如何在内容页面上调用Sub?

时间:2010-11-05 08:17:38

标签: asp.net vb.net

如何在内容页面上调用Sub?

在内容页面上,我们可以这样说:

Public Sub MySub()

End Sub

在母版页上我有这个:

Dim cph As ContentPlaceHolder = CType(Page.Form.FindControl("ContentPlaceHolder1"), ContentPlaceHolder)

2 个答案:

答案 0 :(得分:2)

你为什么需要这个?您无法确定是否拥有特定的内容页面。 Masterpage的目的是可重用性,因此许多页面都应该使用它。为什么需要访问特殊页面?

您可以做的是,向主页添加一个事件,必要时将其提升并在ContentPage中处理它。例如......

在主人:

Partial Public Class ERPMaster
    Inherits System.Web.UI.MasterPage

    Public Event MasterLoaded(ByVal master As MasterPage)

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        RaiseEvent MasterLoaded(Me)
    End Sub

内容:

Private Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
    AddHandler DirectCast(Master, ERPMaster).MasterLoaded, AddressOf MasterLoaded
End Sub

Private Sub MasterLoaded(ByVal master As MasterPage)
   MySub()
End Sub

Public Sub MySub()
End Sub

答案 1 :(得分:1)

我假设您使用的是ASP.NET?

内容页面文件顶部是否有MasterType directive?如果是这样,您只需使用以下语法在母版页上调用函数:

Master.MySub()

内容页面的Master属性已经输入到MasterType指令中指定的页面,因此您可以轻松访问它定义的任何函数。

有关与主页和客户端页面交互的更多信息,请参阅MSDN:http://msdn.microsoft.com/en-us/library/c8y19k6h(v=VS.100).aspx