确保此代码文件中定义的类与“inherits”属性匹配

本文关键字:inherits 属性 代码 文件 定义 确保 | 更新日期: 2023-09-27 18:31:04

我有一个页面,其中页面类与这样的类继承BasePage

public partial class Content_Document_DocumentGuideline : BasePage

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

int accessPermission = this.AccessPermission;

现在我在此页面中有一个用户控件。

我还想在该用户控件中访问此基本页信息。因此,如果我尝试像这样在我的用户控件中继承这个BasePage

public partial class Content_Document_GuideLinesList : BasePage

我收到以下错误:

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

因此,如果我想从用户控件中用户BasePage类信息,那会是什么方法?

确保此代码文件中定义的类与“inherits”属性匹配

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

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

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

继承是一个类is另一个类之间的链接。在您的示例中,控件is not基本页。它包含在页面中。将 Page 视为主要的外部控件容器。此页面可能是学习的良好开端。它处理继承与组合之间的差异。

关于您的特定问题,Control类中有一个属性,可用于访问当前包含它的Page:查看 msdn 文档。