C# 上载的文件未过帐

C# 上载的文件未过帐,c#,javascript,forms,post,file-upload,C#,Javascript,Forms,Post,File Upload,我使用下面的上传表单发布到一个页面,该页面使用下面的代码处理文件。但是,该文件没有显示。我得到计数0,但没有发布任何文件。。。。我是不是在表格上遗漏了什么?我知道上传文件时必须使用什么是相当具体的。我也在下面提供了更多信息 形式 进一步资料 表单通过javascript使用.submit发布 文件输入为可见性:隐藏 该按钮首先调用文件输入的单击 一旦更改,文件输入将调用表单的提交 更新:尝试删除隐藏属性,但没有纠正问题。您的用户实际上没有执行文件上载。您需要将代码添加到“导入文件”按钮 这段代码

我使用下面的上传表单发布到一个页面,该页面使用下面的代码处理文件。但是,该文件没有显示。我得到计数0,但没有发布任何文件。。。。我是不是在表格上遗漏了什么?我知道上传文件时必须使用什么是相当具体的。我也在下面提供了更多信息

形式

进一步资料

表单通过javascript使用.submit发布

文件输入为可见性:隐藏

该按钮首先调用文件输入的单击

一旦更改,文件输入将调用表单的提交


更新:尝试删除隐藏属性,但没有纠正问题。

您的用户实际上没有执行文件上载。您需要将代码添加到“导入文件”按钮

这段代码查看文件字段,检查它是否有文件,然后说只能上载CSV类型。然后将文件保存到web服务器上的/datafiles文件夹中

protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (file.HasFile)
        {
            try
            {
                if (file.PostedFile.ContentType == "application/octet-stream")
                {
                    string filename = Path.GetFileName(file.FileName);
                    file.SaveAs(Server.MapPath("~/datafiles/") + filename);
                    lblStatus.ForeColor = Color.Green;
                    lblStatus.Text = "Upload status: File uploaded!";
                }
                else
                {
                    lblStatus.ForeColor = Color.Red;
                    lblStatus.Text = "Upload status: Only .CSV files are accepted! This is a " + file.PostedFile.ContentType + " file";
                }
            }
            catch (Exception ex)
            {
                lblStatus.ForeColor = Color.Red;
                lblStatus.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
            }
        }
    }

文件需要上载名称属性。如果给定name属性,IE7会出现另一个问题,即上传文件时无法通过javascript发布表单。必须默认使用submit按钮,而不是onchange事件。

我认为css隐藏字段不会被发布。尝试删除隐藏样式。@HasanKhan我尝试过,但没有解决问题
  protected void Page_Load()
        {
            Response.Write(Request.Files.Count);
        }
protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (file.HasFile)
        {
            try
            {
                if (file.PostedFile.ContentType == "application/octet-stream")
                {
                    string filename = Path.GetFileName(file.FileName);
                    file.SaveAs(Server.MapPath("~/datafiles/") + filename);
                    lblStatus.ForeColor = Color.Green;
                    lblStatus.Text = "Upload status: File uploaded!";
                }
                else
                {
                    lblStatus.ForeColor = Color.Red;
                    lblStatus.Text = "Upload status: Only .CSV files are accepted! This is a " + file.PostedFile.ContentType + " file";
                }
            }
            catch (Exception ex)
            {
                lblStatus.ForeColor = Color.Red;
                lblStatus.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
            }
        }
    }