C# 区分多个动态文件上载控件

C# 区分多个动态文件上载控件,c#,asp.net,file-upload,C#,Asp.net,File Upload,我正在动态地将多个文件上载添加到我的asp.net页面。 用户可以从页面创建和删除这些文件上载。这方面的代码是用Javascript/JQuery编写的: var opleverpuntCounter = 0; function addOpleverpunt() { var $opleverpuntContainer = $('#opleverpuntContainer'); var div = ''; va

我正在动态地将多个文件上载添加到我的asp.net页面。 用户可以从页面创建和删除这些文件上载。这方面的代码是用Javascript/JQuery编写的:

var opleverpuntCounter = 0;
        function addOpleverpunt() {
            var $opleverpuntContainer = $('#opleverpuntContainer');
            var div = '';
            var divId = 'opleverpunt_' + opleverpuntCounter;
            div = '<div id="' + divId + '"><br />Upload afbeelding situatie vooraf <input id="opleverpuntbeforefile_' + opleverpuntCounter + '" name="opleverpuntbeforefile_' + opleverpuntCounter + '" type="file" accept="image/*" capture="camera" /><br /><label for="opleverpuntdescriptionbefore_' + opleverpuntCounter + '">Situatie omschrijving vooraf</label><br /><textarea type="text" id="opleverpuntdescriptionbefore_' + opleverpuntCounter + '" name="opleverpuntdescriptionbefore_' + opleverpuntCounter + '" rows="5" cols="100"></textarea><br />Upload afbeelding situatie achteraf <input id="opleverpuntafterfile_' + opleverpuntCounter + '" name="opleverpuntafterfile_' + opleverpuntCounter + '" type="file" accept="image/*" capture="camera" /><br /><label for="opleverpuntdescriptionafter_' + opleverpuntCounter + '">Situatie omschrijving achteraf</label><br /><textarea type="text" id="opleverpuntdescriptionafter_' + opleverpuntCounter + '" name="opleverpuntdescriptionafter_' + opleverpuntCounter + '" rows="5" cols="100"></textarea><br /><input id="btn_' + opleverpuntCounter + '" type="button" value="REMOVE X" class="smallButton" /></div>';
            $opleverpuntContainer.append(div);
            $('#btn_' + opleverpuntCounter).click(function () { removeOpleverpunt(divId); });
            opleverpuntCounter++;
        }
        function removeOpleverpunt(element) {
            var $element = $('#' + element);
            $element.remove();
        }
回到服务器端,我使用以下代码获取并存储上传的文件:

for (int i = 0; i <= Request.Files.Count - 1; i++) {
    HttpPostedFile PostedFile = Request.Files(i);
    if (PostedFile.ContentLength > 0) {
        //Store PostedFile here
        //(Left out to improve question readability)
    }
}
for(int i=0;i 0){
//将PostedFile存储在此处
//(省略以提高问题的可读性)
}
}
文件上载不是ASP:FileUpload控件,而是常规的输入文件上载控件

有什么方法可以区分
opleverpuntbeforefirefile_x
opleverpuntafterfile_x
?(
x
是生成的编号)

如果我能够在服务器端获得差异,我将能够在一个实体中存储
opleverpuntbeforefirefile
,在另一个实体中存储
opleverpuntafterfile


C#或VB.NET中的建议和答案都很好。

您可以访问html控件名称:

for (int i = 0; i <= Request.Files.Count - 1; i++)
            {
                HttpPostedFile PostedFile = Request.Files[i];
                var controlName = Request.Files.Keys[i];
                if (PostedFile.ContentLength > 0)
                {
                    //Store PostedFile here
                    //(Left out to improve question readability)
                }
            }
for(int i=0;i 0)
{
//将PostedFile存储在此处
//(省略以提高问题的可读性)
}
}

您可以在c代码中访问html控件名称属性。请看我发布的答案。。
for (int i = 0; i <= Request.Files.Count - 1; i++)
            {
                HttpPostedFile PostedFile = Request.Files[i];
                var controlName = Request.Files.Keys[i];
                if (PostedFile.ContentLength > 0)
                {
                    //Store PostedFile here
                    //(Left out to improve question readability)
                }
            }