在App_Code中访问自定义PageBase中的母版页?

时间:2010-05-26 15:16:16

标签: asp.net master-pages

我想在我的母版页上访问位于App_Code文件夹中的自定义PageBase中的自定义属性。我可以在网络应用程序中解决这个问题,但我在网站项目中遇到了麻烦。

PageBase:

public abstract class PageBase : ClientSidePageBase
{
    public WebMessage Message
    {
        get
        {
           if (this.Master is MainMaster)
                return ((MainMaster)this.Master).Message;
            else if (this.Master is PopupMaster)
                return ((PopupMaster)this.Master).Message;
            else
                return null;
        }
    }
}

以上示例是我的Web应用程序中的内容并且工作正常但是如果我尝试将其放在App_Code中它不会获取MasterPage类,因此我无法访问该属性。

有什么想法吗?希望我看起来很容易。

1 个答案:

答案 0 :(得分:1)

“网站”和“Web应用程序”之间的区别在于“网站”,只有“App_Code”中的代码被编译成.net程序集;其他一切都是在运行时编译的;使用“Web应用程序”,将所有代码编译成.net程序集。

我猜你的母版页不在App_Code中。你说过PageBase类在App_Code中。因此,听起来您正在尝试继承在预编译的类中在运行时编译的类。

我认为您需要在App_Code之外使用PageBase类,或者需要在App_Code中包含母版页的代码。

请告诉我们您的工作原理。