如何获取动态生成的输入类型文件,按其名称

时间:2014-12-22 08:55:43

标签: asp.net

我动态生成文件上传,但我无法按名称获取其值。 这是一个动态生成的输入类型文件:

<input class="inp_file" onchange="sub(this)" name="subopf_36_32" type="file"> 

我用这段代码来上传文件,但它总是返回null:

for (int i = 0; i < Request.Form.Count; i++)
        {
    if (Request.Form.Keys[i].Contains("subopf"))
                {
                    HttpPostedFile file = Request.Files[Request.Form.Keys[i]];

                    if (file!=null && file.ContentLength > 0)
                    {
                        //some code
                    }
                }
}

1 个答案:

答案 0 :(得分:0)

文件位于Request.Files集合中,而不是Request.Form集合。

for( int i =0; i < Request.Files.Count; i++){
var file = Request.Files[i];
} 

您的表单需要将enctype属性设置为"multipart/form-data"才能使文件上传起作用。当您使用asp:FileUpload控件时,它会自动添加。当您动态添加文件输入时,需要自己添加它。