MultiFileUploador
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MultiFileUploador.ascx.cs" Inherits="Controls_MultiFileUploador" %>
<script language=javascript type="text/javascript">
var _controlPrefix="MultiFileUploador1_";
var _fileCount=1;
var _insertedScript="";
function AddFile()
{
_fileCount=_fileCount+1;
var newDiv=CreateDiv(_fileCount);
_insertedScript=_insertedScript+newDiv;
document.getElementById('divNewFile').insertAdjacentHTML("beforeEnd",newDiv);
}
function DeleteFile(fileIndex)
{
document.getElementById("div"+fileIndex).style.display="none";
document.getElementById("file"+fileIndex).value=null;
_insertedScript=_insertedScript.replace(CreateDiv(fileIndex),"");
// document.getElementById('divNewFile').innerHTML=document.getElementById('divNewFile').innerHTML.replace(CreateDiv(fileIndex),"");
}
//function ReloadInsertedScript()
//{
// document.getElementById('divNewFile').insertAdjacentHTML("beforeEnd",_insertedScript)
//}
function CreateDeleteButton(fileIndex)
{
var newDeleteId="btnDelete"+fileIndex;
var deleteButton='<input id='+newDeleteId+' type="button" value="delete" size="42" language="javascript" onclick="return DeleteFile('+fileIndex+')" style="height: 20px"/>';
return deleteButton;
}
function CreateFileControl(fileIndex)
{
var newFileId="file"+fileIndex;
var fileControl = '<INPUT id='+newFileId+' type="file" size="42" NAME="File">';
return fileControl;
}
function CreateDiv(fileIndex)
{
var newDivId="div"+fileIndex;
var newDiv='<div id='+newDivId+'>'+CreateFileControl(fileIndex)+CreateDeleteButton(fileIndex)+'</div>';
return newDiv;
}
function btnAddnew_onclick()
{
AddFile();
}
</script>
<div style="padding-left:4px">
<asp:FileUpload ID="FileUpload1" runat="server" Width="300px" /><input id="btnAddnew" type="button" value="more.." size="42" language="javascript" onclick="return btnAddnew_onclick()" style="height: 20px"/>
<div id="divNewFile" >
</div>
</div>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Controls_MultiFileUploador : System.Web.UI.UserControl
{
private string _insertedScript = "";
public HttpFileCollection AllFiles
{
get
{
return HttpContext.Current.Request.Files;
}
}
public List<HttpPostedFile> SelectedFiles
{
get
{
return FilterNullFile(HttpContext.Current.Request.Files);
}
}
public string InsertedScript
{
get
{
return _insertedScript;
}
set
{
_insertedScript = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Unload += new EventHandler(Controls_MultiFileUploador_Unload);
this.Init += new EventHandler(Controls_MultiFileUploador_Init);
}
}
void Controls_MultiFileUploador_Init(object sender, EventArgs e)
{
}
void Controls_MultiFileUploador_Unload(object sender, EventArgs e)
{
}
public List<HttpPostedFile> FilterNullFile(HttpFileCollection SelectedFiles)
{
List<HttpPostedFile> newHttpFiles=new List<HttpPostedFile>();
for (int i = 0; i < SelectedFiles.Count; i++)
{
if (!string.IsNullOrEmpty(SelectedFiles[i].FileName) && SelectedFiles[i].ContentLength > 0)
{
newHttpFiles.Add(SelectedFiles[i]);
}
}
return newHttpFiles;
}
}
<script language=javascript type="text/javascript">
var _controlPrefix="MultiFileUploador1_";
var _fileCount=1;
var _insertedScript="";
function AddFile()
{
_fileCount=_fileCount+1;
var newDiv=CreateDiv(_fileCount);
_insertedScript=_insertedScript+newDiv;
document.getElementById('divNewFile').insertAdjacentHTML("beforeEnd",newDiv);
}
function DeleteFile(fileIndex)
{
document.getElementById("div"+fileIndex).style.display="none";
document.getElementById("file"+fileIndex).value=null;
_insertedScript=_insertedScript.replace(CreateDiv(fileIndex),"");
// document.getElementById('divNewFile').innerHTML=document.getElementById('divNewFile').innerHTML.replace(CreateDiv(fileIndex),"");
}
//function ReloadInsertedScript()
//{
// document.getElementById('divNewFile').insertAdjacentHTML("beforeEnd",_insertedScript)
//}
function CreateDeleteButton(fileIndex)
{
var newDeleteId="btnDelete"+fileIndex;
var deleteButton='<input id='+newDeleteId+' type="button" value="delete" size="42" language="javascript" onclick="return DeleteFile('+fileIndex+')" style="height: 20px"/>';
return deleteButton;
}
function CreateFileControl(fileIndex)
{
var newFileId="file"+fileIndex;
var fileControl = '<INPUT id='+newFileId+' type="file" size="42" NAME="File">';
return fileControl;
}
function CreateDiv(fileIndex)
{
var newDivId="div"+fileIndex;
var newDiv='<div id='+newDivId+'>'+CreateFileControl(fileIndex)+CreateDeleteButton(fileIndex)+'</div>';
return newDiv;
}
function btnAddnew_onclick()
{
AddFile();
}
</script>
<div style="padding-left:4px">
<asp:FileUpload ID="FileUpload1" runat="server" Width="300px" /><input id="btnAddnew" type="button" value="more.." size="42" language="javascript" onclick="return btnAddnew_onclick()" style="height: 20px"/>
<div id="divNewFile" >
</div>
</div>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Controls_MultiFileUploador : System.Web.UI.UserControl
{
private string _insertedScript = "";
public HttpFileCollection AllFiles
{
get
{
return HttpContext.Current.Request.Files;
}
}
public List<HttpPostedFile> SelectedFiles
{
get
{
return FilterNullFile(HttpContext.Current.Request.Files);
}
}
public string InsertedScript
{
get
{
return _insertedScript;
}
set
{
_insertedScript = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Unload += new EventHandler(Controls_MultiFileUploador_Unload);
this.Init += new EventHandler(Controls_MultiFileUploador_Init);
}
}
void Controls_MultiFileUploador_Init(object sender, EventArgs e)
{
}
void Controls_MultiFileUploador_Unload(object sender, EventArgs e)
{
}
public List<HttpPostedFile> FilterNullFile(HttpFileCollection SelectedFiles)
{
List<HttpPostedFile> newHttpFiles=new List<HttpPostedFile>();
for (int i = 0; i < SelectedFiles.Count; i++)
{
if (!string.IsNullOrEmpty(SelectedFiles[i].FileName) && SelectedFiles[i].ContentLength > 0)
{
newHttpFiles.Add(SelectedFiles[i]);
}
}
return newHttpFiles;
}
}