惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
Check Point Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
The Hacker News
The Hacker News
L
LINUX DO - 热门话题
T
Tenable Blog
Hugging Face - Blog
Hugging Face - Blog
Google Online Security Blog
Google Online Security Blog
博客园 - Franky
P
Proofpoint News Feed
H
Hacker News: Front Page
P
Privacy & Cybersecurity Law Blog
月光博客
月光博客
P
Proofpoint News Feed
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
博客园_首页
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
Forbes - Security
Forbes - Security
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Attack and Defense Labs
Attack and Defense Labs
N
News and Events Feed by Topic
博客园 - 叶小钗
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
D
Darknet – Hacking Tools, Hacker News & Cyber Security
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Hacker News - Newest:
Hacker News - Newest: "LLM"
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
O
OpenAI News
G
Google Developers Blog
Martin Fowler
Martin Fowler
罗磊的独立博客
S
SegmentFault 最新的问题
T
Tor Project blog
量子位

博客园 - kenly33

ORM及代码生成器和插件C#源码(最新版Kenly.DBFramework4.5.8.5) 處理RadioButtonList客戶端事件 - kenly33 - 博客园 对象关系映射架构(DBFramework)及代码生成器和插件(源码) 使對象支持自定義比較 統計分數 讀寫XML文檔 - kenly33 - 博客园 Visual Studio Team System简介 过滤某些字段重复的记录 GridViewNavigator Gridview梆定 兩個輸入框只允許一個輸入 Gridview中梆定得RadioButton Javascript 隱藏或顯示某區域 ASP.NET 2.0中合并 GridView 的表头单元格 VS2005 RESOURCE MANAGEMENT 鲸鱼哲学 Javascript彈出對話框 FxCop Rules Atlas使用演练
MultiFileUploador
kenly33 · 2007-05-11 · via 博客园 - kenly33

<%@ 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;

    }
   
}