Html 相对于ASP.NET中的根目录

Html 相对于ASP.NET中的根目录,html,asp.net,Html,Asp.net,我知道“/”指的是词根,所以我们可以有 <link href="/Styles/Order.css" rel="stylesheet" /> 指的是相对于根目录的文件路径 但是如果元素是服务器控件,我看到一段代码如下: <asp:Image ID="Image1" runat="server" ImageUrl="~/Images/banner.jpg" /> 那么为什么我们不能使用ImageUrl=“/Images/banner.jpg”,为什么我们在“/”

我知道“/”指的是词根,所以我们可以有

<link href="/Styles/Order.css" rel="stylesheet" />

指的是相对于根目录的文件路径

但是如果元素是服务器控件,我看到一段代码如下:

<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/banner.jpg" />


那么为什么我们不能使用ImageUrl=“/Images/banner.jpg”,为什么我们在“/”之前添加“~”?

您不必这样做。你有试过吗?它之所以存在,是因为在ASP.NET中,
~/
是一种特殊的语法,用于指向应用程序的根,在大多数情况下,它与普通根相同(
/
)。但是,如果您的站点托管在不同的目录中,我们可以说
http://example.com/mysite
然后
~/
将指向
http://example.com/mysite
/
将指向
http://example.com