【问题标题】:ASP.Net Accessing Masterpage properties from a custom classASP.Net 从自定义类访问母版页属性
【发布时间】:2012-02-02 12:38:03
【问题描述】:

一个微不足道的问题,但我有这样的时刻......

我在网站解决方案中有一个母版页(我们称之为 M)。现在我希望我的所有内容页面都派生自一个自定义类(称为 B,它又继承自 Page)。

现在的问题是,我希望 B 能够访问 M(母版页)的属性和方法。在单个内容页面中这样做可以正常工作(因为方法和属性在母版页中声明为公共):

M mPage = (M)Page.Master;

但是在 B 中这样做失败了。我也在其PreInit 方法中设置了B 的MasterPageFile 属性,因此它的母版页设置正确。据我了解,由于这是一个网站解决方案,而不是一个 Web 应用程序,我试图在编译时访问运行时材料,但它不会运行。

【问题讨论】:

  • 以什么方式失败?显示一些代码。

标签: asp.net class master-pages


【解决方案1】:

答案是创建接口:

public interface IMyMasterPage { }

让你的母版页实现这个接口,然后你可以这样做:

IMyMasterPage mPage = (IMyMasterPage)Page.Master;

【讨论】:

  • 布赖恩,你不知道你的帖子对指引我正确的方向有多大帮助。谢谢!我将为遇到同样问题的任何人发布更详细的解决方案。
  • 对于任何解决这个问题的人,forums.asp.net/t/1520880.aspx/1 有一个线程,它使用了 Brian 建议的使用接口的概念。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多