<script language="C#" runat="server">    static readonly char[] _slashArray = new char[] {'/'};
    
    void PopulateNode(Object source, TreeNodeEventArgs e)
    {   
      TreeNode node = e.Node;
      if (node.Value == "Demos")
        node.Value = "~/";      String rootDirectory = Request.MapPath("~/", Request.ApplicationPath, false);
      String fullPath = Request.MapPath(node.Value, Request.ApplicationPath, false);
        
      if (fullPath.StartsWith(rootDirectory) == false)
      {
        // Mitigate against spoofed callback arguments
        // Requested directory is not under root directory
        return;
      }      String[] dirs = Directory.GetDirectories(fullPath);      // Enumerate directories
      foreach (String dir in dirs)
      {
        String virtualDir = node.Value.TrimEnd(_slashArray) + "/" + Path.GetFileName(dir);        TreeNode newNode = new TreeNode(Path.GetFileName(dir), virtualDir);
        if (Directory.GetFiles(dir).Length > 0
            || Directory.GetDirectories(dir).Length > 0)
        {
          newNode.PopulateOnDemand = true;
        }
        node.ChildNodes.Add(newNode);
      }      // Enumerate files
      String[] files = Directory.GetFiles(fullPath);
      foreach (String file in files)
      {
        TreeNode newNode = new TreeNode(Path.GetFileName(file), Path.GetFileName(file));
        node.ChildNodes.Add(newNode);
      }
    }  </script>
如果我要改为物理路径。这两句应该怎么改:如C:\windows。这两句的具体意思?为什么需要两句相同的路径啊~~
 String rootDirectory = Request.MapPath("~/", Request.ApplicationPath, false);
 String fullPath = Request.MapPath(node.Value, Request.ApplicationPath, false);