ASP.Net中的相对路径

时间:2013-04-06 10:17:18

标签: asp.net visual-studio

我正在尝试使用Visual Studio Express 2012在ASP.NET中设计Web表单。

我需要从某些text boxes获取数据,然后将其写入Text file

这是一个非常简单的程序,但我在设置文件路径时遇到问题

此应用程序将发送给其他人,他们必须从他们的计算机上运行该项目。

我想要的文件名为Database.txt,可在D:\Project\bin\Database.txt找到。

因此,如果他将此文件夹粘贴到桌面中,则会变为C:\Users\Desktop\Project\bin\Database.txt

无论项目文件夹在哪里,我都无法设置可以找到此文件的动态路径。

3 个答案:

答案 0 :(得分:2)

使用此代码:

public void WriteToFile(String text)
{
    string logFileName = Server.MapPath("~/bin/DataBase.txt");
    using (StreamWriter writer = File.AppendText(logFileName))
    {
        writer.WriteLine(text);
        writer.Flush();
        writer.Close();
    }
}

答案 1 :(得分:1)

使用Server.MapPath(“/”)获取虚拟目录的物理路径

看到这个。发布server.mappath Server.MapPath("."), Server.MapPath("~"), Server.MapPath(@"\"), Server.MapPath("/"). What is the difference?

答案 2 :(得分:0)

您可以将路径放在web.config文件中,并根据要求设置值。

以下是一些可以帮助您的示例代码

这会进入你的web.config。

<configuration>
    <appSettings>
        <add key="myFilePath" value="C:\\whatever\\Data\\"/>
    </appSettings>
</configuration>

这就是你读它的方式:

path = System.Web.Configuration.WebConfigurationManager.AppSettings["myFilePath"].ToString();