首页 > 解决方案 > 即使 Inherits 匹配文件名,该名称在当前上下文中也不存在

问题描述

尽管我阅读了 SO 中的所有答案,但我遇到了一个常见问题,但我仍然无法解决它。我有这个简单的 aspx 文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GestaoFicheiros.aspx.cs" Inherits="fileManager.GestaoFicheiros" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">
...
</head>
<body>
    <form id="form1" runat="server">
        <asp:FileUpload ID="FileUploadControl" runat="server" />
        <asp:Button runat="server" ID="UploadButton" text="Upload" onclick="UploadButton_Click" />
        <br /><br />
        <asp:Label runat="server" ID="StatusLabel" text="Upload status: " />
    </form>
</body>

</html>

以及背后的代码:

namespace fileManager
{
    public partial class GestaoFicheiros : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void UploadButton_Click(object sender, EventArgs e)
        {
            if(FileUploadControl.HasFile)
            {
                try
                {

                    string filename = Path.GetFileName(FileUploadControl.FileName);
                    FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
                    StatusLabel.Text = "Upload status: File uploaded!";
                }
                catch(Exception ex)
                {
                    StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
                }
            }
        }
    }
}

但是,在后面的代码中,在我试图从.aspx文件中访问的所有字段中,即 StatusLabel 和 FileUploadControl,我得到了问题的错误。

这里应该是什么问题?

谢谢!

标签: c#asp.net

解决方案


我已经设法解决了。我必须单击该aspx文件,然后在项目菜单 (VS2017) 中,我需要转换为 Web 应用程序。


推荐阅读