如何在web.config文件中获取相对路径

时间:2013-07-18 16:18:26

标签: c# asp.net

我在stackoverflow上搜索了如何创建一个相对文件,并尝试了各种各样的东西但它没有用,我希望看看你们是否可以帮助我。

这是我在web.config文件中的连接:

 <add name="2007 Database  05-12-2013(Esfahanian's conflicted copy 2013-06-24)
  ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data 
  Source=" providerName="System.Data.OleDb"/>

以及此aspx文件中的相对路径:

<script runat="server">
    string connectionString = ConfigurationManager
    .ConnectionStrings["2007 Database 
    05-12-2013(Esfahanian's conflicted copy 2013-06-24) ConnectionString"]
   .ConnectionString + Server.MapPath("..\..\Anderson\2007 
    Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb");
</script>

我收到此错误:CS1009: Unrecognized escape sequence

那究竟我做错了什么

2 个答案:

答案 0 :(得分:1)

你没有逃避&#34; \&#34;路径中的字符,因此导致MapPath()方法出错。

改变这个:

Server.MapPath("..\..\Anderson\2007 Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb"

到此:

Server.MapPath(@"..\..\Anderson\2007 Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb"

或者这个:

Server.MapPath("..\\..\\Anderson\\2007 Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb"

答案 1 :(得分:0)

您在路径字符串中使用\,但这是文字的符号。 所以在\后面的任何字符都将被解释为像\的文字。不是有效的字符。 你真的想要文字\序列为\\ 另外,@ string的字符串告诉你不要文字。

所以mappath(“需要mappath(@”或每个\需要成为\\ <\ p>