1

我在下面的<link>and<img>标记中有两个不同的 URL:

...
<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>网址仍然~/img/title.png存在。

主文件 css URL 适用于不同的页面,但图像 URL 保持不变。

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

关于如何让图像 url 像链接 url 一样工作的任何想法?

在更一般的意义上,我可以使用绝对 URL 解决所有这些问题,但我想保留相对 URL,而不是运行时构造的 URL,因为此应用程序将位于不同的站点上。

4

1 回答 1

1

将 a 添加runat="server"img元素中,事情将按您的预期工作。

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

于 2012-10-12T15:53:24.330 回答