C# 如何在单击一个按钮时使用两个多文件上载控制文件

C# 如何在单击一个按钮时使用两个多文件上载控制文件,c#,asp.net,C#,Asp.net,我在一个页面中使用两个文件上载控件,并将文件保存到一个提交按钮中 For Single Uplaod - <asp:FileUpload ID="FileUpload1" class="form-control" runat="server" /> For Multiple Upload - <asp:FileUpload ID="FileUpload2" multiple="multiple" class="form-control" run

我在一个页面中使用两个文件上载控件,并将文件保存到一个提交按钮中

 For Single Uplaod -
      <asp:FileUpload ID="FileUpload1" class="form-control" runat="server" />
 For Multiple Upload -    
     <asp:FileUpload ID="FileUpload2" multiple="multiple" class="form-control" runat="server" />
对于多个上传代码是

    HttpFileCollection hfc = Request.Files;
            savepath = Server.MapPath(filepath);
            for (int i = 0; i < hfc.Count; i++)
            {
                HttpPostedFile hpf = hfc[i];
                if (hpf.ContentLength > 0)
                {
.....
    }}
HttpFileCollection hfc=Request.Files;
savepath=Server.MapPath(filepath);
对于(int i=0;i0)
{
.....
}}
但是
HttpFileCollection
同时获取
FileUpload1
FileUplaod2
的文件。如何仅选择
FileUplaod2
的文件


任何人都可以为这个问题提供解决方案。

不要使用
请求.Files
。它包含
FileUpload1
FileUpload2
中的所有文件。改用
FileUpload2.PostedFiles

下面是一个示例用法

protected void uploadFiles_Click(object sender, EventArgs e)
    {
        if (FileUpload2.HasFiles)
        {
            foreach (HttpPostedFile uploadedFile in FileUpload2.PostedFiles)
            {
                uploadedFile.SaveAs(System.IO.Path.Combine(Server.MapPath("~/MyPath/"),
                uploadedFile.FileName));
                listofuploadedfiles.Text += String.Format("{0}<br />", uploadedFile.FileName);
            }
        }
    }
protectedvoid uploadFiles\u单击(对象发送者,事件参数e)
{
if(FileUpload2.HasFiles)
{
foreach(HttpPostedFile uploadedFile在FileUpload2.PostedFiles中)
{
uploadedFile.SaveAs(System.IO.Path.Combine(Server.MapPath(“~/MyPath/”)),
uploadedFile.FileName));
listofuloadedfiles.Text+=String.Format(“{0}
”,uploadedFile.FileName); } } }
您只能使用.net 4.5中的FileUpload2.PostedFiles,而不能使用下面的任何内容。另外,您不会在4.5中使用multiple=“multiple”。。您必须使用AllowMultiple=“true”

IList collection=FileUpload2.PostedFiles;
protected void uploadFiles_Click(object sender, EventArgs e)
    {
        if (FileUpload2.HasFiles)
        {
            foreach (HttpPostedFile uploadedFile in FileUpload2.PostedFiles)
            {
                uploadedFile.SaveAs(System.IO.Path.Combine(Server.MapPath("~/MyPath/"),
                uploadedFile.FileName));
                listofuploadedfiles.Text += String.Format("{0}<br />", uploadedFile.FileName);
            }
        }
    }