.ASPX页面如何获取其文件系统路径?

时间:2008-10-09 17:02:38

标签: asp.net

我有一个页面something.aspx,相关的codebehind something.aspx.cs。在那个代码隐藏中,我想知道something.aspx的文件系统位置。有没有方便的方法来获得它?

更新:我得到了几个很好的答案,但遗憾的是,由于我正在做的其他事情,这些答案无效。我正在编写一些关于我传入的URL的其他信息,所以它看起来像这样:

http://server/path/something.aspx/info1/info2/info3.xml

服务器处理这个OK(我没有使用查询字符串参数来处理我没写的其他代码)。但是当我调用Server.MapPath(Request.Url.ToString())时,我收到一条错误,即带有'info'段的完整URL不是有效的虚拟路径。

4 个答案:

答案 0 :(得分:10)

// File path
string absoluteSystemPath = Server.MapPath("~/relative/path.aspx");
// Directory path
string dir = System.IO.Path.GetDirectoryName(absoluteSystemPath);
// Or simply
string dir2 = Server.MapPath("~/relative");

答案 1 :(得分:8)

答案 2 :(得分:5)

Server.MapPath是最常用的方法之一。

string physicalPath = Server.MapPath(Request.Url);

答案 3 :(得分:0)

Server.MapPath( Request.AppRelativeCurrentExecutionFilePath )