按代码创建文件夹时出错

时间:2013-10-18 15:09:59

标签: c# asp.net

我有一个会员注册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文件夹。帮助???

2 个答案:

答案 0 :(得分:3)

由于您已将虚拟路径转换为物理路径,因此无需再次使用Server.MapPath

更改

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

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

答案 1 :(得分:1)

如果您已有物理路径D:\\C#Projects\\website\\Lecturer\\,则拨打Server.MapPath

是没有意义的

你可以试试这个: -

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

或者只是试试这个: -

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