2

Web ページのベースとして 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などのWebページのコードビハインドで、置き換えてみました

    パブリック部分クラス デフォルト: ページ

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 に答える