欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之文件夾實(shí)現(xiàn)

 更新時(shí)間:2006年09月28日 00:00:00   作者:  
在介紹“網(wǎng)絡(luò)硬盤”概念時(shí)已經(jīng)提到,每個(gè)用戶在“網(wǎng)絡(luò)硬盤”上都有自己的一塊空間。在下面程序設(shè)計(jì)中是這樣處理的:為用戶提供一個(gè)固定的文件夾,在這個(gè)文件夾下用戶可以自己增加/刪除新的文件夾或文件。如圖1所示,首次打開網(wǎng)頁時(shí)將列出該文件夾下的所有內(nèi)容(包括文件和文件夾)。如果想進(jìn)入下一級(jí)文件夾,可以選中該文件夾,單擊“打開”按鈕進(jìn)入。下面將就查看文件夾內(nèi)容功能的實(shí)現(xiàn)分步驟進(jìn)行說明。


圖1 用戶主界面

  1. 頁面加載

  由于程序所提供的用戶目錄是固定的,如c:\UserDir,而且要求在頁面加載后顯示該文件夾所有內(nèi)容,所以需要在Page_Load中進(jìn)行相應(yīng)操作:首先要判斷該文件夾是否存在,如果不存在需要先創(chuàng)建它;然后再列出該文件夾下的內(nèi)容,其代碼實(shí)現(xiàn)如下:

private void Page_Load(object sender, System.EventArgs e)
{
 // 在此處放置用戶代碼以初始化頁面

 if(Page.IsPostBack==false)
 {
  CurrentPath= @"c:\UserDir\"; //設(shè)置當(dāng)前目錄
  if(Directory.Exists(@"c:\UserDir\")==false) //若該目錄不存在,創(chuàng)建該目錄
   Directory.CreateDirectory(@"c:\UserDir\");
   LoadDir(CurrentPath); //初始化裝入目錄
 }
}


  LoadDir(string FullPath)方法用來列出該文件夾下的所有內(nèi)容,其代碼如下:

private void LoadDir(string FullPath)
{
 CurrentPath=FullPath;
 ArrayList values = new ArrayList();
 string [] MyFiles,MyDirs;
 MyFiles = Directory.GetFiles(FullPath); //得到該目錄下所有文件
 if(CurrentPath!=@"c:\UserDir") //若不是頂級(jí)目錄,增加“返回上級(jí)目錄”選項(xiàng) {
  values.Add("返回上級(jí)目錄");
 }

 values.AddRange(MyFiles); //加入文件
 MyDirs= Directory.GetDirectories(FullPath); //得到該目錄下所有目錄
 values.AddRange(MyDirs); //加入目錄
 FileList.DataSource=values; //設(shè)置數(shù)據(jù)源
 FileList.DataBind(); //綁定數(shù)據(jù)
}

  首先要定義一個(gè)ArrayList數(shù)組對(duì)象values,用以存放頂級(jí)目錄下的所有內(nèi)容(包括文件夾名和文件名)。Directory.GetFiles()方法返回頂級(jí)目錄下的所有文件名,其返回類型為一個(gè)string數(shù)組,故需要定義一個(gè)string類對(duì)象MyFiles來保存返回的文件名;Directory.GetDirectories()返回頂級(jí)目錄下的所有文件夾名稱,同樣定義一個(gè)string數(shù)組對(duì)象MyDirs來保存它們。完成這些后就可以把MyFiles和MyDirs數(shù)組添加進(jìn)values對(duì)象了。最后要做的只是為ListBox控件對(duì)象FileList添加數(shù)據(jù)源和綁定數(shù)據(jù)。有一點(diǎn)需要說明:如果當(dāng)前目錄不是頂級(jí)目錄,則需要能返回到上級(jí)目錄,為此需要在FileList中添加“返回上級(jí)目錄”選項(xiàng)。

  2. 多級(jí)目錄查看

  通過上一部分列出的兩段代碼,就可以完成在頁面加載時(shí)列出頂級(jí)目錄下的所有內(nèi)容。當(dāng)然列出頂級(jí)目錄下的內(nèi)容還是不夠的,和Windows操作系統(tǒng)類似,網(wǎng)絡(luò)硬盤中文件夾目錄也是嵌套的,存在二級(jí)或者多級(jí)文件夾目錄。為此要進(jìn)行一些相應(yīng)的處理,使得用戶可以查看多級(jí)文件夾目錄內(nèi)容。前面界面設(shè)計(jì)中提供了一個(gè)“打開”按鈕,用戶選擇相應(yīng)的文件夾后,單擊該按鈕就可以查看該文件夾下的內(nèi)容。

  下面就為“打開”按鈕添加代碼。在“設(shè)計(jì)”面板中雙擊該按鈕,系統(tǒng)就會(huì)自動(dòng)為其添加事件,其代碼內(nèi)容如下:

private void btnOpen_Click(object sender, System.EventArgs e)
{
 if(FileList.SelectedItem.Text=="返回上級(jí)目錄") //返回上級(jí)目錄
 {
  string ParentPath=Directory.GetParent(CurrentPath).ToString();
  LoadDir(ParentPath);
  return;
 }
 else //打開目錄
 {
  LoadDir(FileList.SelectedItem.Text);
 }
}

  程序首先判斷用戶選中的是不是“返回上級(jí)目錄”。如果是的話,則要先通過Directory.GetParent()方法返回上級(jí)文件夾名稱,然后再調(diào)用LoadDir()方法來顯示該目錄下的內(nèi)容;如果用戶選中的不是“返回上級(jí)目錄”而是一個(gè)文件夾名稱,則可以直接調(diào)用LoadDir()方法,F(xiàn)ileList.SelectedItem.Text為選中的文件夾名,用來作為LoadDir()方法的參數(shù)。

相關(guān)文章

  • ASP.NET 頁面中動(dòng)態(tài)增加的控件、添加事件

    ASP.NET 頁面中動(dòng)態(tài)增加的控件、添加事件

    在ASP.NET中動(dòng)態(tài)創(chuàng)建一個(gè)控件總是不那么順利,特別是當(dāng)對(duì)頁面的Life Cycle不是那么了然的情況下!這里簡單描述一下要求,然后提供一個(gè)解決方案,大家看看有沒有更好的Idea,如果有的話就是我的大幸了,呵呵!
    2009-07-07
  • DataSet、DataTable、DataRow區(qū)別詳解

    DataSet、DataTable、DataRow區(qū)別詳解

    這篇文章主要介紹了DataSet、DataTable、DataRow區(qū)別詳解,需要的朋友可以參考下
    2014-02-02
  • ASP.NET Core緩存靜態(tài)資源示例詳解

    ASP.NET Core緩存靜態(tài)資源示例詳解

    我們?cè)趦?yōu)化Web服務(wù)的時(shí)候,對(duì)于靜態(tài)的資源文件,通常都是通過客戶端緩存、服務(wù)器緩存、CDN緩存,這三種方式來緩解客戶端對(duì)于Web服務(wù)器的連接請(qǐng)求壓力的。下面這篇文章主要給大家介紹了關(guān)于ASP.NET Core緩存靜態(tài)資源的相關(guān)資料,需要的朋友可以參考下。
    2018-02-02
  • 詳解ASP.NET Core Web Api之JWT刷新Token

    詳解ASP.NET Core Web Api之JWT刷新Token

    這篇文章主要介紹了詳解ASP.NET Core Web Api之JWT刷新Token,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • asp.net中SqlCacheDependency緩存技術(shù)概述

    asp.net中SqlCacheDependency緩存技術(shù)概述

    這篇文章主要介紹了asp.net中SqlCacheDependency緩存技術(shù)概述,是大型web程序設(shè)計(jì)中常用的技術(shù),本文對(duì)此進(jìn)行了較為詳細(xì)的描述,需要的朋友可以參考下
    2014-08-08
  • ASP.NET Core 數(shù)據(jù)保護(hù)(Data Protection)中篇

    ASP.NET Core 數(shù)據(jù)保護(hù)(Data Protection)中篇

    這篇文章主要為大家再一次介紹了ASP.NET Core 數(shù)據(jù)保護(hù)(Data Protection),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • CheckBox控件默認(rèn)選中,提交時(shí)永遠(yuǎn)獲得選中狀態(tài)的實(shí)現(xiàn)代碼

    CheckBox控件默認(rèn)選中,提交時(shí)永遠(yuǎn)獲得選中狀態(tài)的實(shí)現(xiàn)代碼

    下面小編就為大家?guī)硪黄狢heckBox控件默認(rèn)選中,提交時(shí)永遠(yuǎn)獲得選中狀態(tài)的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • .Net實(shí)現(xiàn)合并文件的具體方法

    .Net實(shí)現(xiàn)合并文件的具體方法

    這篇文章介紹了.Net實(shí)現(xiàn)合并文件的具體方法,有需要的朋友可以參考一下
    2013-07-07
  • Asp.net利用JQuery彈出層加載數(shù)據(jù)代碼

    Asp.net利用JQuery彈出層加載數(shù)據(jù)代碼

    最近看QQ空間里面的投票功能很使用。點(diǎn)擊一個(gè)鏈接就彈出一個(gè)層,然后再加載一些投票信息,旁邊的區(qū)域變成灰色不可用狀態(tài)。其實(shí)這不算什么高深的技術(shù),只要在ASP.NET中利用JQuery結(jié)合一般處理程序ASHX即可搞定了。
    2009-11-11
  • ASP.NET?MVC從控制器中獲取URL值

    ASP.NET?MVC從控制器中獲取URL值

    這篇文章介紹了ASP.NET?MVC從控制器中獲取URL值的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論