我在母版页中有一个公共属性。我想从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似乎暗示这应该......工作。是否有一些属性或设置或我需要包含的东西,以使母版页可以作为类类型访问?
答案 0 :(得分:0)
在表单(.aspx)上添加以下内容:
<%@ MasterType TypeName="master.master_public" %>
上述指令会将主页的公共成员公开给表单。要从表单访问您的媒体资源,请参阅以下内容:
Me.Master.YourProperty
因此,为了从添加到表单的用户控件访问masterpage公共属性,只需转换主页对象:
CType(Me.Page.Master, master.master_public).YourProperty