当前位置: 代码迷 >> ASP.NET >> 怎么用JS生成多个FileUpload并在后台取得FileName值
  详细解决方案

怎么用JS生成多个FileUpload并在后台取得FileName值

热度:1758   发布时间:2013-02-25 00:00:00.0
如何用JS生成多个FileUpload并在后台取得FileName值
如题 我在页面中 做了个点击事件 每次点击就生成一个FileUpload 该怎么写 在后台又该如何取得每个FileUpload的FileName值

------解决方案--------------------------------------------------------
Request.Files 循环
------解决方案--------------------------------------------------------
非常重要的一句话 <form id="form1" runat="server" enctype="multipart/form-data">


 HttpFileCollection files = HttpContext.Current.Request.Files; //遍历File表单元素

 for (int i = 0; i < files.Count; i++)
{
HttpPostedFile postedFile = files[i];
if (postedFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(postedFile.FileName);

下面的应该懂了吧.
------解决方案--------------------------------------------------------
js是不能生成服务器端控件的,除非你用HTml表单

HTML code
    <script language="JavaScript" type="text/javascript">  var index = 1;function addFile(){    var fartherID = "addedFile" + index;    var divToAdd = document.createElement("div");    divToAdd.id = fartherID;    var str = '<INPUT style="width:284px;" type="file" contentEditable="false" id="subFile' + index + '" name="subFilename' + index + '" />&nbsp;&nbsp;' +    '<a  fartherID="' +fartherID +'"  onclick="removeFileChild(this)" style="cursor: hand;">删除</a>';    divToAdd.innerHTML = str;    var fartherObject = document.getElementById('btAddFile');    fartherObject.appendChild(divToAdd);    index++;}    </script>    <form id="form1" runat="server"><div>                                    <asp:FileUpload ID="SubFile0" runat="server" Width="284px" contenteditable="false" />                                </div>                                <div id="btAddFile">                                </div>                                <div>                                    <a href="javascript:addFile()">添加附件</a>                                </div></form>
------解决方案--------------------------------------------------------
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>jsDoc中文网-locale photo</title> <script> function AddMoreRow() {     var oRow=event.srcElement.parentNode.parentNode;     var oTable=oRow.parentNode.parentNode;     oNewRow=oTable.insertRow();     for(i=0;i<oRow.cells.length;i++)     {         oNewRow.insertCell().innerHTML=oRow.cells[i].innerHTML;     }     oRow.all("DelBtn").disabled=false;     oNewRow.all("DelBtn").disabled=false; } function DeleteMoreRow() {     var oRow=event.srcElement.parentNode.parentNode;     var oTable=oRow.parentNode.parentNode;    if(oTable.rows.length>1)     {         oTable.deleteRow(oRow.rowIndex);         if(oTable.rows.length==1)         {            oTable.all("DelBtn").disabled=true;         }     } } function DisabledKeyInput() {     if(event.keyCode!=8&&event.keyCode!=46)     {         event.returnValue=false;     } } </script> </head><body topmargin="10"> <form method="post" enctype="multipart/form-data"> <table><th>批量上传</th></table> <table><tr><td nowrap="nowrap">名称*</td> <td><input type="text" name="Name" size="15" maxlength="50"></td><td nowrap="nowrap">文件路径*</td> <td><input type="file" name="FilePath" size="15" onKeyDown="DisabledKeyInput()" /></td><td nowrap="nowrap">说明*</td> <td><input type="text" name="Description" size="45"><input type="button" value="增加" onclick="AddMoreRow()"></td><td nowrap="nowrap"> <input type="button" id="DelBtn" value="删除" disabled="disabled" onClick="DeleteMoreRow()"> </td></tr> </table> <table> <tr align="center"> <td align="center"> <input type="submit" value="保存"> <input type="reset" value="取消"></td> </tr> </table> </form> </body> </html>
  相关解决方案