该名称在当前上下文中不存在,即使Inherits与文件名匹配

时间:2018-10-16 08:39:11

标签: c# asp.net

按照我所读的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)中遇到问题的错误。

这里应该是什么问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

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