1

我有一个会员注册 aspx 页面。

ACCOUNT(user,pass,mail,privilege)

当用户注册成功时,如果privilege == "lecturer"--> 会创建一个文件夹,其中folder's name= user.

看看我下面的代码:

 if(privilege=="lecturer")
        {
            string path = this.Server.MapPath("~/Lecturer/"); // path="D:\\C#Projects\\website\\Lecturer\\"
            string targetPath = path + @"\";           
            System.IO.Directory.CreateDirectory(Server.MapPath(targetPath+newuser));

        }

它有一个错误:'D:/C#Projects/website/Lecturer/david' is a physical path, but a virtual path was expected.为什么???

我真的很想在 Lecturer 文件夹中创建一个 david 文件夹。帮助???

4

2 回答 2

3

您不需要Server.MapPath再次使用,因为您已经将虚拟路径转换为物理路径。

改变

 System.IO.Directory.CreateDirectory(Server.MapPath(targetPath+newuser));

 System.IO.Directory.CreateDirectory(targetPath+newuser); 
于 2013-10-18T15:12:14.280 回答
1

如果您已经有物理路径D:\\C#Projects\\website\\Lecturer\\,则调用没有意义Server.MapPath

你可以试试这个: -

var files = Directory.GetFiles(@"D:\C#Projects\website\Lecturer");

或者干脆试试这个: -

System.IO.Directory.CreateDirectory(targetPath+newuser); 
于 2013-10-18T15:12:28.910 回答