开发者

asp.net mvc file path issue \

i am using this to create a new folder

 System.IO.Directory.CreateDirectory(@" + somevariable); 

the thing is that when i enter the folder c:\newfolder\newfolder in the textbox and is trying to recieve the value up in the controller it is replaced with double slash( \) c:\\newfolder\\newfolder. how would i prevent \ quotes from coming in the path

Secon开发者_开发百科dly the string.replace is also not working for replacing \ with \\

  string strText = OrganMeta.vcr_MetaValue;  
  string gf = strText.Replace("\\", @"\");


"\\" is equivalent to a string of one character, a backslash. @"\" is also equivalent to a single character, a backslash.

so your Replace method is replacing one form of a backslash with a different form.

try this:

string gf = strText.Replace( @"\\", @"\" );

OR

string gf = strText.Replace( "\\\\", "\\" );

as far as the folder thing goes, Andy is right, it will show a double-backslash in the IDE when in fact there is only one in the string. is there an error when Directory.CreateDirectory() is called? or is the folder created?


Are you sure it's replaced it with \\? If you hover over the variable it will appear to have \\ where there should be a single \ but if you view it in the text visualizer it will show correctly.

Not sure what you mean by string.replace is not working...?? Can you give an example of the code that's not working?


Slashes don't get doubled between the form submit and your controller action.

It's far more likely that you're viewing the result in the debugger or another context that shows two slashes to allow you to distinguish between escaped characters (\n) and a literal slash ().

Write the string to the debug window to verify this.

System.Diagnostics.Debug.WriteLine("SomeText"); 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜