0

そのため、Web サイトを Web アプリケーションに変換する際に問題が発生しました。MasterParent というカスタム クラスを継承していた MasterPage があります。今参照しようとすると、まったく認識されません。

どちらのファイルも、メインのアプリケーション フォルダー内にあります。以下にコード例を示します。

MasterPage.master.cs

public partial class MasterPage : MasterParent
{
}

MasterParent.cs (上記のコードから継承することはできません)

namespace PortfolioApplication
{
    /// <summary>
    /// Summary description for MasterContent
    /// </summary>
    public abstract partial class MasterParent : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        #region "Navigation Buttons"

        protected void btnPortfolio_Click(object sender, EventArgs e)
        {
            Server.Transfer("Portfolio.aspx");
        }
        protected void btnHome_Click(object sender, EventArgs e)
        {
            Server.Transfer("Default.aspx");
        }
        protected void btnContact_Click(object sender, EventArgs e)
        {
            Server.Transfer("Contact.aspx");
        }
        protected void btnResume_Click(object sender, EventArgs e)
        {
            Server.Transfer("Resume.aspx");
        }

        #endregion
    }
}

私は非常に単純なものを見逃していますか、それとも何が間違っていますか?

4

2 に答える 2

0

問題は、すべてのクラスを Web ページからアプリケーションにインポートしたときでした。この転送のために参照した Web サイトでは、ファイルをドラッグ アンド ドロップするように指示されていました。各ファイルを手動で再作成し、以前のプロジェクトからコードをコピーして参照できるようにする必要がありました。

于 2012-11-01T18:55:10.623 に答える
0

Web サイトから Web アプリケーション (IIRC) にファイルをコピーした後、新しいプロジェクトを右クリックして [Web アプリケーションに変換] を選択する必要があります ( http://msdn.microsoft.com/en-us/library/aa983476も参照)。 (VS.100).aspx )。これにより、マークアップ ファイルが CodeFile 属性 (実行時にオンザフライでコンパイル) を使用する方法から、CodeBehind (設計時にコンパイルする - Web サイト プロジェクトと Web アプリケーション プロジェクトの主な違い) を使用する方法に変換されます。

Convert To Web Application コマンドは、App_Code の名前も Old_App_Code に変更するため、これらのファイルも設計時にコンパイルされます。VS2012 では、App_Code のコンテンツを設計時にも使用できるようにいくつかの変更がありましたが、以前は App_Code は Web アプリケーション プロジェクトの VS によって無視されていました。

于 2012-11-01T19:05:56.687 に答える