确保此代码文件中定义的类符合' inherits'属性

时间:2014-11-20 10:25:28

标签: c# asp.net webforms

我有一个页面,其中页面类继承了BasePage类,如此

public partial class Content_Document_DocumentGuideline : BasePage

所以我可以访问BasePage类信息,如下所示

int accessPermission = this.AccessPermission;

现在我在此页面中有一个usercontrol。

我也希望在该用户控件中访问此基页信息。 因此,如果我尝试在我的usercontrol中继承此BasePage类,就像这样

public partial class Content_Document_GuideLinesList : BasePage

我收到以下错误:

  

确保此代码文件中定义的类符合' inherits'属性,并且它扩展了正确的基类(例如Page或UserControl)。

因此,如果我想从usercontrol中获取BasePage类信息,那么该方法是什么?

2 个答案:

答案 0 :(得分:0)

您应该能够从用户控件中访问BasePage的成员,只要您只在从BasePage继承的页面上使用它。您可能希望为此向用户控件添加属性。

public BasePage BasePage
{
    get
    {
        return Page as BasePage;
    }
}

请注意,如果您在不从BasePage继承的页面上使用该控件,则此属性将返回null。您可能需要将一些BasePage成员公开,如果它们尚未公开。

答案 1 :(得分:0)

继承是is另一个类的类之间的链接。在您的示例中,A Control is not是一个BasePage。它包含在一个页面中。将Page视为主要的外部Control容器。 This page可能是一个良好的学习开端。它处理继承和组合之间的区别。

关于您的具体问题,Control课程中有一个属性可供您访问当前包含该属性的Page:查看the msdn documentation