2012-10-12 276 views
1

我得在<link>两个不同的网址及以下<img>标签:网址无法正常工作一样

... 
<head id="Head1" runat="server"> 
<link rel="stylesheet" type="text/css" href="~/css/site.css" /> 
<title></title> 
</head> 
<body> 
    <form id="form1" runat="server" > 
    <div id="header"> 
    <img src="~/img/title.png" alt="ClearBox" /> 
... 

这个HTML是一个主文件和多个页面中使用。在这个特殊情况下,它被/ login目录中的页面使用。

当它由IIS提供服务时,<link> url变成../css/site.css,它正确地指向了css文件。

<img> url仍然为~/img/title.png

主文件的CSS URL适用于不同的页面,但图像的URL是相同的。

如果我将<img> URL更改为img/title.png,它将在主页上正常工作,但在/login目录中将无法正常工作。

有关如何让图像网址像链接网址一样工作的任何想法?

在更一般的意义上,我可以修复这一切绝对的网址,但我想保持相对URL,而不是做构建运行时的URL,因为这个应用程序将是在不同的地点。

+2

添加'runtat =“服务器”'的'img'元素,如你所期望的东西会工作。 – Oded

+0

谢谢!!!!无法看到树木的森林。 – Tony

+0

@Oded:应该做出正确的答案。 – Chuck

回答

1

添加runat="server"img元素,如你所期望的东西会工作。

~仅在服务器端控件的页面上被正确解释(当涉及到路径时,head元素中的项目被解析服务器端)。