为了账号安全,请及时绑定邮箱和手机立即绑定

asp.net获取磁盘相关信息

标签:
SQL Server

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

 

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消