在 ASP.NET 中的 ~/ 是一种路径的表示方法,它类似于 /,但并不是 /。
~/ 表示站点根目录或虚拟目录的根目录,而 / 表示站点根目录。
比如站点根目录是 D:\wwwroot,下面有一目录 abc,abc 下有一文件 default.aspx,同时将 abc 目录设为当前站点下的虚拟目录。
那么 default.aspx 中的 / 表示 D:\wwwroot,而 ~/ 表示的是 D:\wwwroot\abc。
~/ 需要服务器支持,也就是说
<img src="~/..." alt="..." /> 输出到客户端后仍然是原样。
而
<img src="~/..." alt="..." runat="server" /> 图片的地址则是经过处理的,不再是以 ~/ 开头的。