- 已知条件:
站点 myWebSite 的物理路径是 c:/inetpub/wwwroot 。
站点 myWebSite 中有虚拟目录 V1, V1 的物理路径是 D:/AspTest。
虚拟目录V1 下面具有虚拟目录 V2, V2 的物理路径是 E:/system1。
虚拟目录V2 下面具有目录 Data, 其物理路径是 E:/system1/Data。
目录 F1 下面具有文件 default.aspx。
那么在default.aspx 调用:
- Server.MapPath("../") 结果是 E:/system1
- Server.MapPath("../../"), 结果是 D:/AspTest
- Server.MapPath("../../../"), 结果是 C:/inetpub/wwwroot
- Server.MapPath("../../../../"), 结果将出错,因为已经退到站点根目录以上了。
- Server.MapPath(".") 结果是 E:/system1/Data 点表示当前所在目录
- Server.MapPath("./") 结果是 E:/system1/Data/
- Server.MapPath("Page2.aspx") 结果是 E:/system1/Data/Page2.aspx. Page2.aspx不定要实际存在。
- Server.MapPath("/ ") 或 Server.MapPath("/") 结果是 C:/inetpub/wwwroot , 得到的并不是虚拟目录根目录 所在的物理路径,而是站点根目录 所在的物理路径。
Reference: