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.なぜ???

講師フォルダーに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 に答える