如何在内容页面上调用Sub?
在内容页面上,我们可以这样说:
Public Sub MySub()
End Sub
在母版页上我有这个:
Dim cph As ContentPlaceHolder = CType(Page.Form.FindControl("ContentPlaceHolder1"), ContentPlaceHolder)
答案 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