指定服务器端代码的相对路径

时间:2013-03-29 20:32:47

标签: c# asp.net asp.net-mvc asp.net-mvc-4

在HTML中我知道我可以指定相对路径,例如:

<a href="~/temp/Somecontent.xxx" />

我也想为我的服务器端代码设置相对路径。例如:

File.Exists("../myBusinessLibrary/Bin/Debug/myBusinessLibrary.dll");//where this is a library that supports the web project

找不到该文件。我看了Environment.CurrentDirectory并得到:

"C:\\Program Files (x86)\\IIS Express"

我认为我的程序集不会复制到此位置。有没有办法设置与服务器端代码一起使用的相对路径?

4 个答案:

答案 0 :(得分:4)

您可以使用以下代码

HttpContext.Current.Server.MapPath("relativepath goes here")

答案 1 :(得分:2)

看一下Server.MapPath(string relativePath):

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath(v=vs.100).aspx

此方法将相对路径映射到可在File.Exists()方法中使用的物理路径。

答案 2 :(得分:2)

您可以使用Server.MapPath

var path = Server.MapPath("/myBusinessLibrary/Bin/Debug/myBusinessLibrary.dll");

File.Exists(path);

答案 3 :(得分:0)

您可以尝试使用Server.Mappath,看看它能带给您什么。以下是其信息的链接:

http://msdn.microsoft.com/en-us/library/ms524632(v=vs.90).aspx