Where there is a will , there is a way .
kenly

No pain , no gain .

 

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;

    }
   
}

posted on 2007-05-11 17:57  kenly33  阅读(331)  评论(0编辑  收藏  举报

导航