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