Javascript asp.net动态多文件上载 protectedvoidbtnupload\u单击(对象发送方,事件参数e) { 对于(int i=0;i0) { 字符串FileName=System.IO.Path.GetFileName(PostedFile.FileName); SaveAs(Server.MapPath(“Files\\”)+文件名); } } } var计数器=0; 函数AddFileUpload(){ var div=document.createElement('div'); div.innerHTML=“”+ ''; document.getElementById(“FileUploadContainer”).appendChild(div); 计数器++; } 函数RemoveFileUpload(div){ document.getElementById(“FileUploadContainer”).removeChild(div.parentNode); }

Javascript asp.net动态多文件上载 protectedvoidbtnupload\u单击(对象发送方,事件参数e) { 对于(int i=0;i0) { 字符串FileName=System.IO.Path.GetFileName(PostedFile.FileName); SaveAs(Server.MapPath(“Files\\”)+文件名); } } } var计数器=0; 函数AddFileUpload(){ var div=document.createElement('div'); div.innerHTML=“”+ ''; document.getElementById(“FileUploadContainer”).appendChild(div); 计数器++; } 函数RemoveFileUpload(div){ document.getElementById(“FileUploadContainer”).removeChild(div.parentNode); },javascript,c#,jquery,asp.net,webforms,Javascript,C#,Jquery,Asp.net,Webforms,上传功能可以动态添加用户想要的内容 protected void btnUpload_Click(object sender, EventArgs e) { for (int i = 0; i < Request.Files.Count; i++) { HttpPostedFile PostedFile = Request.Files[i]; if (PostedFile.ContentLength

上传功能可以动态添加用户想要的内容

 protected void btnUpload_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < Request.Files.Count; i++)
        {
            HttpPostedFile PostedFile = Request.Files[i];
            if (PostedFile.ContentLength > 0)
            {
                string FileName = System.IO.Path.GetFileName(PostedFile.FileName);
                PostedFile.SaveAs(Server.MapPath("Files\\") + FileName);
            }
        }
    }

<script type="text/javascript">
        var counter = 0;
        function AddFileUpload() {
            var div = document.createElement('DIV');
            div.innerHTML = '<input id="file' + counter + '" name = "file' + counter +
                            '" type="file" />' +
                            '<input id="Button' + counter + '" type="button" ' +
                            'value="Remove" onclick = "RemoveFileUpload(this)" />';
            document.getElementById("FileUploadContainer").appendChild(div);
            counter++;
        }
        function RemoveFileUpload(div) {
            document.getElementById("FileUploadContainer").removeChild(div.parentNode);
        }
    </script>

单击以添加文件
我现在面临的问题是当我点击上传时
对于(int i=0;i
此行,
Request.Files.Count始终=0
,即使我有一个或多个文件要上载。我尝试调试此
Request.Files.Count 0
始终..

只需将
FileUploadContainer
div和
upload按钮
包装在
表单中,并将其方法设置为
POST
。现在您应该在
Request.files.Count下获取文件。下面只是一个样本

 <div>
            <span style="font-family: Arial">Click to add files</span>
    <input id="Button1" type="button" value="add" onclick="AddFileUpload()" />
            <div id="FileUploadContainer">
            </div>
            <asp:Button ID="btnUpload" runat="server"
                Text="Upload" OnClick="btnUpload_Click" />

        </div>

单击以添加文件

运行您的页面,查看源代码并确保file upload按钮和container div包含在表单元素中,如果没有,则使用以下表单元素声明将其包围

<div>
    <span style="font-family: Arial">Click to add files</span>
    <input id="Button1" type="button" value="add" onclick="AddFileUpload()" />
    <form id="frmUploads" runat="server" method="POST">
        <div id="FileUploadContainer">
        </div>
        <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" />
    </form>
</div>


您需要在表单中输入内容tag@H.Herzl如何指导..?您正在使用web表单,因此需要更改代码,在html web表单中创建div,并从js获取div codeelement表单不能嵌套在元素中form@KyLim我找不到你!你能解释一下你的评论吗?那么你已经有了一个
表单
包装在任何地方了?您可以发布页面的完整代码吗?实际上我正在使用此网站的母版页。获取错误:元素表单不能嵌套在元素表单中我正在使用此网站的母版页,母版页已经有元素表单这意味着您已经有一个表单元素,是否可以检查父表单元素以查看它是否具有
enctype='multipart/form data'
属性?
<form method='POST' enctype='multipart/form-data'>

<div>
<!-- REST of your HTML --!>

            <span style="font-family: Arial">Click to add files</span>
    <input id="Button1" type="button" value="add" onclick="AddFileUpload()" />
            <div id="FileUploadContainer">
            </div>
            <asp:Button ID="btnUpload" runat="server"
                Text="Upload" OnClick="btnUpload_Click" />

        </div>

</form>