0

所以我在将我的网站转换为 Web 应用程序时遇到了问题。我有一个 MasterPage,它用于继承一个名为 MasterParent 的自定义类。当我现在尝试引用它时,它根本无法识别它。

这两个文件都在主应用程序文件夹中。一些示例代码如下:

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

问题是当我将所有课程从网页导入应用程序时。我提到的用于此传输的网站说将文件拖放到其中。我必须手动重新创建每个文件并从以前的项目中复制代码才能被引用。

于 2012-11-01T18:55:10.623 回答
0

将文件从网站复制到 Web 应用程序后,IIRC 您还需要右键单击新项目并选择转换为 Web 应用程序(另请参见:http: //msdn.microsoft.com/en-us/library/aa983476 (VS.100).aspx )。这会导致标记文件从使用 CodeFile 属性(在运行时即时编译)转换为使用 CodeBehind(在设计时编译 - 网站和 Web 应用程序项目之间的关键区别)。

Convert To Web Application 命令还将您的 App_Code 重命名为 Old_App_Code,因此这些文件也将在设计时进行编译。在 VS2012 中,进行了一些更改,以便 App_Code 中的内容也可以在设计时使用,但以前 App_Code 在 Web 应用程序项目中被 VS 忽略。

于 2012-11-01T19:05:56.687 回答