Server.MapPath()不能上升2级?

时间:2017-04-11 22:26:30

标签: c# asp.net

我一直在研究关于Server.MapPath()的{​​{3}},我无法在那里找到任何可以让我从当前位置升级2级的内容。

Server.MapPath("./"); // this works - current path
Server.MapPath("../"); // this works - parent path
Server.MapPath("/"); // this works - virtual root path (2 levels HIGHER than I need)
Server.MapPath(".../"); // This fails

有没有办法上升2级? (那将是父文件夹的父级。)

是的,我可以通过转到虚拟根然后解析/组合来实现这一目标,但这似乎是hackish。寻找更优雅或规范的东西。

2 个答案:

答案 0 :(得分:3)

..上升到文件夹,因此../../会上升两级,依此类推。

请注意,这不会让您离开网站的根文件夹:如果网页是“/foo/bar.aspx”,尝试映射“../ ..”将失败,如果您的网站位于根目录。< / p>

答案 1 :(得分:3)

在Windows中没有.../路径。

  • ./表示当前目录
  • ../表示上一级

注意:您可以认为.的数量是级别数量,但并非如此。

上面的2个级别为../../,3个级别../../../,依此类推。