C# 为什么我们使用@Master type?
如果我们有母版页和内容页,那么content page@page指令如下所示C# 为什么我们使用@Master type?,c#,asp.net,master-pages,content-pages,C#,Asp.net,Master Pages,Content Pages,如果我们有母版页和内容页,那么content page@page指令如下所示 <%@ Page Language="C#" MasterPageFile="~/Site1.Master" .... /> 所以,为了访问内容页中的母版页控件,我们必须使用 <%@ MasterType VirtualPath="~/Site1.Master" %> 因此,我的问题是,当我们已经在@page指令中定义此内容页位于母版页(此处为--Site1.master)中时,为什
<%@ Page Language="C#" MasterPageFile="~/Site1.Master" .... />
所以,为了访问内容页中的母版页控件,我们必须使用
<%@ MasterType VirtualPath="~/Site1.Master" %>
因此,我的问题是,当我们已经在@page指令中定义此内容页位于母版页(此处为--Site1.master)中时,为什么我们使用@MasterType指令呢?您正在定义母版
属性的类型,它允许您访问母版页派生类的属性
提供一种方法,用于在从master属性访问ASP.NET母版页时创建对该母版页的强类型引用
例如:
this.Master.SomePublicPropertyOfMaster = Value;
使用类型为
MyMasterPage
指定@MasterType指令会在代码隐藏类中产生以下属性定义:
public new MyMasterPage Master {
get {
return ({MyMasterPage})base.Master;
}
}
此属性定义是通过TemplateControlCodeDomTreeGenerator类的方法创建的。@Lloyd..请告诉我强类型是什么意思?因为我是编程新手,所以我对它一无所知…这意味着类型是显式声明的,因此,您不需要强制转换它,即:MyMasterPage masterPage=(MyMasterPage)this.masterPage.Link已失效。试试这个,