论文导读:新建一个ASP.NET网站。创建母版页和内容页。访问ASP.NET母版页的三种常用方法。
关键词:ASP.NET,母版页
1. 创建母版页和内容页
母版页是一个以.master为扩展名的文件,由特殊的@Master指令识别。
新建一个ASP.NET网站,添加一个母版页,命名为MasterPage,在母版页中添加一个服务器端Button控件,命名为button1。论文大全,ASP.NET。
内容页是与普通网页类似,以.aspx为扩展名,但是在创建是要为它指定母版页,它主要包含页面中的非公共内容。
新建一个Web窗体,将MasterPage作为它的母版页,命名为ContentPage。
2. 访问母版页的常用方法
访问母版页通常包括引用母版页的属性、方法、控件和响应控件事件。论文大全,ASP.NET。
2.1引用公共属性和方法
引用母版页中的属性和方法需要在内容页中使用@MasterType指令-在ContentPage.aspx文件中加入<%@ MasterType='~/MasterPage.master' %>语句,该指令的作用是使内容页的Master属性被强类型化,即通过@MasterType指令创建与内容页相关的母版页的强类型引用。论文大全,ASP.NET。
在内容页中只能引用母版页中的公共属性和方法。论文大全,ASP.NET。在母版页的代码文件中加入下面的代码:
Private _str As String = '公共属性'
Public Property property1() As String
Get
Return _str
End Get
Set(ByVal valueAs String)
_str = value
End Set
End Property
Public Sub sub1()
MsgBox('公共方法')
End Sub
其中Property1是公共属性,用于访问私有变量_str;Sub1是公共方法。
在内容页的代码文件Content.aspx.vb中通过下面的代码访问母版页的属性和方法:
Master.sub1()
Dim str As String = Master.property1
2.2 引用母版页控件
在内容页中还可能引用母版页的控件,而且没有必须为公共成员的限制。获得母版页控件的引用通常有两种方法。
1. 通过母版页的公共属性返回控件。
Public Property button() As System.Web.UI.WebControls.Button
Get
Return Me.button1
End Get
Set(ByVal valueAs System.Web.UI.WebControls.Button)
Me.button1 = value
End Set
End Property
上面的代码返回母版页中的Button控件,在内容中通过下面的代码获取对控件的引用:
Dim button As NewSystem.Web.UI.WebControls.Button
button = Master.button
2. 使用FindControl()方法。
Dim button As NewSystem.Web.UI.WebControls.Button
button =Master.FindControl('button1')
其中button1为母版页控件ID。
2.4 响应母版页控件事件
控件的事件是在本地处理的,即母版页中的控件在母版页中引发事件。对应同一母版页的不同内容页,如果要对母版页中的同一控件的同一事件采取不同的处理方法,则需要在不同的内容页中响应母版页的事件。
要在内容页中响应母版页的控件事件需要将内容页的响应函数委托给母版页的控件事件。论文大全,ASP.NET。
下面的例子中,内容页响应了母版页中Button控件的Click事件。论文大全,ASP.NET。
在内容页中加入下面的代码:
Protected Sub content_btnClick(ByVal sender As Object, ByVal e As System.EventArgs)
MsgBox('内容页响应母版页Button控件事件')
End Sub
在内容页的Page_Load事件中加入委托:
AddHandler Master.button.Click, AddressOf content_ btnClick
需要注意的是如果在母版页中也响应了Button控件的Click事件,则程序运行时先响应母版页的处理方法后响应内容页的处理方法。
|