日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[系列文章]上传文件管理控件v2

發(fā)布時(shí)間:2023/12/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [系列文章]上传文件管理控件v2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、引言:
開發(fā)v1的時(shí)候,遇到很多困難(因?yàn)槲沂切率?#xff09;,于是就上網(wǎng)找了一些資料。
其中,這篇《數(shù)據(jù)綁定的總結(jié) 》文章(http://www.cnblogs.com/qingtianyzl/articles/351012.html)被我看到了,里面有把數(shù)組綁定到DataGrid的方法。將里面的一部分代碼復(fù)制過來,修改一下,就完成了基本的功能。
二、基本原理
dataGrid是asp.net 1.x中用來顯示網(wǎng)格式數(shù)據(jù)的服務(wù)器控件,可能通過綁定的方式,把DataTable(數(shù)據(jù)表)里的內(nèi)容放置到dataGrid。
那么DataTable是哪來的呢?最基本的來源,是通過連接數(shù)據(jù)庫,打開表獲得。(這也是大多數(shù)課本上講的)那么,如果像我這樣,所要展示的不是來自于數(shù)據(jù)庫的內(nèi)容怎么辦?我就想到,能不能把數(shù)組綁定的dataGrid上呢?在網(wǎng)上找了一些資料,沒有結(jié)果,卻從上面提到的那篇文章里找到了另外的思路:用程序生成一個(gè)空的DataTable,再創(chuàng)建Field(在asp.net里叫做列DataColumn),然后把數(shù)據(jù)填充進(jìn)去。
晴天,在代碼里的注釋說得很詳細(xì),所以我這里就不我啰嗦了。
三、附源代碼

??1<%@?Control?Language="C#"?ClassName="ListUpload_v2"?%>
??2<%@?Import?Namespace="System.IO"?%>
??3<%@?Import?namespace="System.Data"?%>
??4
??5<script?runat="server">
??6????/**//****************************************************************?
??7?????**上傳文件管理控件
??8?????**文件名:ListUpload_v2.ascx ?
??9?????**Copyrigth(c)?2008-2010???***************?柳城別日 xpnew.cnblogs.com
?10?????**文件編號:
?11?????**創(chuàng)建人:柳城別日
?12?????**日期:2008年5月22日
?13?????**修改人:柳城別日
?14?????**日期:2008年5月22日
?15?????*?描述:用來管理上傳文件,支持列表、刪除
?16?????**/

?17
?18????//
?19
?20????/**//*?class?ListUpload2
?21?????{
?22?????}
?23?????*?
?24?????*
?25?????*?*/

?26????// 類內(nèi)部初始化
?27????private?string?_strDir?=?@"~/Upload/";
?28????
?29????
?30????public?string?strDir//通過這個(gè)屬性,可以設(shè)置控件所要管理的目錄
?31????{
?32????????get
?33????????{
?34????????????return?_strDir;
?35????????}

?36????????set
?37????????{
?38????????????_strDir?=?value;
?39????????}

?40????}

?41????
?42????protected?void?Page_Load(object?sender,?EventArgs?e)
?43????{
?44????????if?(!Page.IsPostBack)
?45????????{
?46
?47????????????//--------------------------------
?48????????????//下面是從網(wǎng)上找到的代碼:
?49????????????
?50????????????DataTable?dt?=?new?DataTable();
?51????????????//dt為聲明一個(gè)表
?52
?53????????????DataRow?dr;
?54????????????//表示Table中行的數(shù)據(jù)
?55
?56????????????dt.Columns.Add(new?DataColumn("IntegerValue",?typeof(Int32)));
?57????????????dt.Columns.Add(new?DataColumn("StringValue",?typeof(string)));
?58????????????dt.Columns.Add(new?DataColumn("DateTimeValue",?typeof(DateTime)));
?59????????????dt.Columns.Add(new?DataColumn("BooleanValue",?typeof(bool)));
?60????????????//Columns為取值該表列的集合,
?61????????????//Add.為該表添加到列的集合?DataColumn為列框架
?62????????????//后面是列頭的標(biāo)題,后面表示該列的數(shù)據(jù)類型
?63
?64
?65
?66????????????for?(int?i?=?1;?i?<=?9;?i++)
?67????????????{
?68
?69????????????????dr?=?dt.NewRow();
?70????????????????//創(chuàng)建與該表具有相同框架新的數(shù)據(jù)行
?71
?72
?73????????????????dr[0]?=?i;
?74????????????????dr[1]?=?"Item?"?+?i.ToString();
?75????????????????dr[2]?=?DateTime.Now;
?76????????????????dr[3]?=?(i?%?2?!=?0)???true?:?false;
?77????????????????//為數(shù)據(jù)行添加數(shù)值
?78????????????????dt.Rows.Add(dr);
?79????????????????//把獲得數(shù)值的指定的行加到該表的集合
?80????????????}

?81
?82????????????//???dataGrid1.DataSource?=?new?DataView(dt);
?83????????????//把該表作為數(shù)據(jù)源?放到dataGrid1中
?84????????????//??dataGrid1.DataBind();//數(shù)據(jù)綁定被我注釋了
?85????????????
?86
?87????????????//網(wǎng)上的代碼結(jié)束
?88????????????//------------------
?89????????????
?90????????????//-------------------我自己的代碼開始
?91????????????
?92????????????DataTable?FileList?=?new?DataTable();
?93????????????//FileList為聲明一個(gè)表
?94
?95????????????DataRow?FileItem;
?96????????????//表示Table中行的數(shù)據(jù)
?97????????????
?98???????????????????????
?99????????????FileList.Columns.Add(new?DataColumn("選擇",?typeof(bool)));
100????????????FileList.Columns.Add(new?DataColumn("文件名",?typeof(string)));
101????????????FileList.Columns.Add(new?DataColumn("大小(字節(jié))",?typeof(Int32)));
102????????????FileList.Columns.Add(new?DataColumn("上傳日期",?typeof(DateTime)));
103????????????//Columns為取值該表列的集合,
104????????????//Add.為該表添加到列的集合?DataColumn為列框架
105????????????//前面是列頭的標(biāo)題,后面表示該列的數(shù)據(jù)類型----這是別人的注釋
106????????????//我認(rèn)為前面不單單是標(biāo)題那么簡單,在v4里后詳細(xì)地說明
107
108????????????????????????
109????????????string?dirPath?=?Server.MapPath(strDir);
110????????????DirectoryInfo?Dir?=?new?DirectoryInfo(dirPath);
111????????????FileInfo[]?arrFiles?=?Dir.GetFiles();
112
113????????????foreach?(FileInfo?f?in?arrFiles)
114????????????{
115????????????????FileItem?=?FileList.NewRow();
116????????????????//創(chuàng)建與該表具有相同框架新的數(shù)據(jù)行
117????????????????FileItem[0]?=?false;
118????????????????FileItem[1]?=?f.Name;
119????????????????FileItem[2]?=?f.Length;
120????????????????FileItem[3]?=?f.LastWriteTime;
121????????????????//為數(shù)據(jù)行添加數(shù)值
122
123????????????????FileList.Rows.Add(FileItem);
124????????????????//把獲得數(shù)值的指定的行加到該表的集合
125
126????????????}

127
128????????????dataGrid2.DataSource?=?new?DataView(FileList);
129????????????//把該表作為數(shù)據(jù)源?放到dataGrid2中
130????????????dataGrid2.DataBind();
131????????????//綁定
132????????}

133
134????}

135
136
137
138</script>
139
140<asp:DataGrid?ID="dataGrid2"?runat="server"?BorderColor="black"?BorderWidth="1"?CellPadding="3"
141????CellSpacing="0"?GridLines="Both"?HeaderStyle-BackColor="#aaaadd"?>
142</asp:DataGrid>
143

轉(zhuǎn)載于:https://www.cnblogs.com/xpnew/archive/2008/05/24/1206252.html

總結(jié)

以上是生活随笔為你收集整理的[系列文章]上传文件管理控件v2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。