从ascx控件访问母版页

时间:2016-12-16 19:28:35

标签: asp.net vb.net ascx

我在母版页中有一个公共属性。我想从ascx用户控件访问此属性。

我的母版页名为master_public,它位于名为“master”的名称空间中。

所以我尝试写作:

dim m=ctype(page.master,master.master_public)
dim foobar=m.foobar

intellisense说master.master_public不存在。

我尝试从母版页中删除命名空间。仍然没有运气。

主页面被声明为“部分公共类”。但这个名字似乎没有得到承认。

这里的答案Accessing Master page control in ascx file似乎暗示这应该......工作。是否有一些属性或设置或我需要包含的东西,以使母版页可以作为类类型访问?

1 个答案:

答案 0 :(得分:0)

在表单(.aspx)上添加以下内容:

<%@ MasterType TypeName="master.master_public" %>

上述指令会将主页的公共成员公开给表单。要从表单访问您的媒体资源,请参阅以下内容:

Me.Master.YourProperty

因此,为了从添加到表单的用户控件访问masterpage公共属性,只需转换主页对象:

CType(Me.Page.Master, master.master_public).YourProperty