• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net获取磁盘相关信息

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

使用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();
    }

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap