【问题标题】:access master page from ascx control从 ascx 控件访问母版页
【发布时间】:2016-12-16 19:28:34
【问题描述】:

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

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

所以我试着写:

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

智能感知说 master.master_public 不存在。

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

母版页被声明为“部分公共类”。但是这个名字好像不被认出来。

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

【问题讨论】:

  • 尝试重新设计控件,使其不与特定母版页绑定。例如,将所需的值注入到控件的构造函数中。

标签: asp.net vb.net ascx


【解决方案1】:

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

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

上述指令会将母版页的公共成员公开给表单。要从表格中访问您的财产,只需参考以下内容:

Me.Master.YourProperty

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多