C# 为我的asp.net页面添加自定义基类会产生错误

C# 为我的asp.net页面添加自定义基类会产生错误,c#,asp.net,C#,Asp.net,我尝试使用自定义派生页面,而不是System.Web.UI.page作为网页的基类,但是Visual Studio 2012(ASP.Net)拒绝识别新的基类。代码看起来不错,只是VS不识别新的基类 我在项目根目录下创建了一个名为App_Code的文件夹 在该文件夹中,我添加了一个名为SitePage.cs的新ASP.net类 进入SitePage.cs,以下是内容 using System; using System.Collections.Generic; using System.

我尝试使用自定义派生页面,而不是System.Web.UI.page作为网页的基类,但是Visual Studio 2012(ASP.Net)拒绝识别新的基类。代码看起来不错,只是VS不识别新的基类

  • 我在项目根目录下创建了一个名为App_Code的文件夹
  • 在该文件夹中,我添加了一个名为SitePage.cs的新ASP.net类
  • 进入SitePage.cs,以下是内容

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Web;  
    using System.Web.UI;  
    
     public class SitePage : System.Web.UI.Page
     {  
          protected override void OnPreInit(EventArgs e)  
             {  
                   base.OnPreInit(e);  
           }  
    
    public SitePage()  
    {  
    }  
    
    }

  • 在网页的代码隐藏中,比如Default.aspx.cs,我尝试替换

    公共部分类默认值:第页

  • 问题是SitePage得到了一条弯曲的红线。SitePage未出现在选项下拉列表中,不知道原因,并产生错误:“找不到类型或命名空间名称'SitePage'

    我正在Visual Studio中使用ASP.Net v4.0(非MVC)。我创建了一个全新的项目来测试/处理这个问题,因此没有潜在的负担


    想法?

    在默认设置之前,您必须将其作为参考(在解决方案资源管理器中查找“参考”选项)。aspx.cs将知道它是什么

    在创建自定义基类之后,但在从页面更改基类之前,您需要构建项目

    所以,现在你要做的是:

    • 确保
      Default
      继承自
      System.Web.UI.Page
    • 构建您的项目
    • 重新应用
      SitePage
      作为
      Default

    SitePage是否与Default.aspx.cs位于同一命名空间中?感谢您的快速回复。没有“引用”选项,但解决方案是将“构建操作”从“内容”更改为“编译”。谢谢你帮我克服了这个困难。这个问题并不明显。在那之后,我多次构建了这个项目。诚然,在一次清理之后,我可能需要构建两次项目,但直接的问题是,对我来说并不明显,我必须将构建操作从“内容”(visualstudio提供的默认值)更改为“编译”。我以为所有的C#CS页面都被编译过了。我有大量的CS类页面,它们编译得很好。我不明白其中的差别。有人吗?
    public partial class Default : SitePage