zoukankan      html  css  js  c++  java
  • 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();
        }
  • 相关阅读:
    react 起手式
    获取元素CSS值之getComputedStyle方法熟悉
    js设计模式
    es6笔记5^_^set、map、iterator
    Flux --> Redux --> Redux React 入门 基础实例使用
    http协议与内容压缩
    C程序中唯一序列号的生成
    动态设置布局LayoutInflater
    构造Scala开发环境并创建ApiDemos演示样例项目
    BZOJ 2525 Poi2011 Dynamite 二分答案+树形贪心
  • 原文地址:https://www.cnblogs.com/insus/p/1915908.html
Copyright © 2011-2022 走看看