2

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

  1. 我在项目根目录下创建了一个名为 App_Code 的文件夹
  2. 在该文件夹中,我添加了一个名为 SitePage.cs 的新 ASP.net 类
  3. 进入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()  
    {  
    }  
    

    }

  4. 在网页背后的代码上,比如 Default.aspx.cs,我尝试替换

    公共部分类默认值:页面

public partial class Default : SitePage

问题是 SitePage 得到一条弯曲的红线。SitePage 没有出现在选项下拉列表中,不知道为什么,并产生错误,“找不到类型或命名空间名称 'SitePage'。”

我在 Visual Studio 中使用 ASP.Net v4.0(非 MVC)。我创建了一个全新的项目来测试/解决这个问题,所以没有潜在的包袱。

想法?

4

2 回答 2

2

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

于 2013-05-01T16:30:53.620 回答
0

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

所以,现在你要做的是:

  • 确保Default继承自System.Web.UI.Page
  • 构建你的项目
  • 重新SitePage申请为基类Default
于 2013-05-01T16:33:54.587 回答