asp.net获取磁盘相关信息

使用System.IO名称空间下的DriveInfo类别,可以获取磁盘相关信息。 

代码
  private  DataTable GetDriveInfo( string  driveName)
    {
        
// new一个实例表   
        DataTable dataTable  =   new  DataTable();

        DataColumn dataColumn;
        
// new一个字段
        dataColumn  =   new  DataColumn();
        
// 字段存储的数据类型
        dataColumn.DataType  =  Type.GetType( " System.String " );
        
// Gets the name of a drive. 
        dataColumn.ColumnName  =   " Name " ;
        
// 把这个字段添加至表中。
        dataTable.Columns.Add(dataColumn);

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Indicates the amount of available free space on a drive.
        dataColumn.ColumnName  =   " AvailableFreeSpace " ;
        dataTable.Columns.Add(dataColumn);

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Gets the name of the file system, such as NTFS or FAT32. 
        dataColumn.ColumnName  =   " Format " ;
        dataTable.Columns.Add(dataColumn);

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Gets the drive type. 
        dataColumn.ColumnName  =   " Type " ;
        dataTable.Columns.Add(dataColumn);

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Gets a value indicating whether a drive is ready. 
        dataColumn.ColumnName  =   " Ready " ;
        dataTable.Columns.Add(dataColumn);

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Gets the root directory of a drive.
        dataColumn.ColumnName  =   " RootDirectory " ;
        dataTable.Columns.Add(dataColumn);      

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Gets the total amount of free space available on a drive. 
        dataColumn.ColumnName  =   " FreeSpace " ;
        dataTable.Columns.Add(dataColumn);

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Gets the total size of storage space on a drive. 
        dataColumn.ColumnName  =   " TotalSize " ;
        dataTable.Columns.Add(dataColumn);

        dataColumn 
=   new  DataColumn();
        dataColumn.DataType 
=  Type.GetType( " System.String " );
        
// Gets or sets the volume label of a drive. 
        dataColumn.ColumnName  =   " Volume " ;
        dataTable.Columns.Add(dataColumn);

        
// new一个DriveInfo对象,并传入盘符
        DriveInfo objDi  =   new  DriveInfo(driveName);
        DataRow dataRow;
        dataRow 
=  dataTable.NewRow();  // 表创建一行

        
// 下面是为字段赋值
        dataRow[ " Name " =  objDi.Name.ToString();
        dataRow[
" AvailableFreeSpace " =  objDi.AvailableFreeSpace.ToString();
        dataRow[
" Format " =  objDi.DriveFormat.ToString();
        dataRow[
" Type " =  objDi.DriveType.ToString();
        dataRow[
" Ready " =  objDi.IsReady.ToString();
        dataRow[
" RootDirectory " =  objDi.RootDirectory.ToString();        
        dataRow[
" FreeSpace " =  objDi.TotalFreeSpace.ToString();
        dataRow[
" TotalSize " =  objDi.TotalSize.ToString();
        dataRow[
" Volume " =  objDi.VolumeLabel.ToString();

        
// 把行添加至表
        dataTable.Rows.Add(dataRow);
        dataTable.AcceptChanges();

        
return  dataTable;
    }

  

指定显示C盘信息至GridView控件上:

代码
  protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  ( ! IsPostBack)
        {
            Data_Binding();
        }
    }

    
private   void  Data_Binding()
    {
        
// 传入C盘
         this .GridView1.DataSource  =  GetDriveInfo( " c " );
        
this .GridView1.DataBind();
    }

  

或者您可以显示所有磁盘,显示RadioButtonList控件上:

代码
  < asp:RadioButtonList  ID ="rblDriveList"  runat ="server"  AutoPostBack ="true"  RepeatDirection ="Horizontal"  RepeatColumns ="10"  OnSelectedIndexChanged ="rblDriveList_SelectedIndexChanged" >
</ asp:RadioButtonList >

  

给RadioButtonList控件绑定数据源:

代码
  protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  ( ! IsPostBack)
        {
            Data_Binding();
        }
    }

    
private   void  Data_Binding()
    {       
        List
< string >  driveList  =   new  List < string > ();
        DriveInfo[] allDrives 
=  DriveInfo.GetDrives();

        
foreach  (DriveInfo di  in  allDrives)
        {
            driveList.Add(di.ToString().Substring(
0 , 1 ));
        }

        
this .rblDriveList.DataSource  =  driveList;
        
this .rblDriveList.DataBind();        
    }

 
 点击磁盘盘符显示相应盘符信息:

代码
       protected   void  rblDriveList_SelectedIndexChanged( object  sender, EventArgs e)
    { 
        
if  (rblDriveList.SelectedItem.Value  ==   string .Empty)  return ;
        
this .GridView1.DataSource  =  GetDriveInfo(rblDriveList.SelectedItem.Value);
        
this .GridView1.DataBind();
    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值