从虚拟目录获取根目录

时间:2018-09-25 13:57:02

标签: asp.net iis

在IIS中,我的网站设置如下:

- MyWebsite
    - Images
    - MyVirtualDirectory
        - Management

我想从MyWebsite/Images中的页面访问MyVirtualDirectory/Management中的图像文件。

例如,在MyVirtualDirectory/Management/MyPage.aspx中,我试图像这样访问图像:

Server.MapPath("~/Images/myimage.jpg")

但是运行后,路径不正确。在Google Chrome中,我可以查看HTML,它显示为<img src="../../Images/myimage.jpg" />。如果我删除../..很好,但是我想知道为什么~/...语法不起作用。

1 个答案:

答案 0 :(得分:1)

Server.MapPath("~/somepath")语法可以正常工作。该函数返回物理路径,同时将“〜”作为 current 网站的根目录。在您的情况下,当前网站是MyVirtualDirectory,因此该函数将基于此虚拟目录的根目录返回物理路径。检查此答案以获取详细说明here