0

今天我发现了asp.net默认网站模板的一些奇怪行为。

我试图将徽标添加到母版页(即 Site.Master)

<div class="title">
            <h1>
            <img id="logoImage" src="images/headerlogo.png" /><span id="headerUser">heidi jones</span>
            </h1>
        </div>

它适用于default.aspx年龄和about.aspx页面,但是当我进入登录页面时,徽标图像没有显示在那里。

我错过了什么?这是我第一次使用 asp.net 默认模板...

休闲是屏幕

默认.aspx 页面

默认.aspx 页面

Login.aspx 页面

Login.aspx 页面

工作代码

<img id="logoImage" runat="server" src="~/images/headerlogo.png" /><span id="headerUser">heidi jones</span>

I miss runat tag

4

1 回答 1

1

图像是从相对 url 加载的 - 所以你的根文件夹页面可以工作,但不能~在任何图像控件的 url 开头使用的子文件夹中(不要忘记runat='server'

波浪号 (~) 字符表示 ASP.NET 中应用程序的根目录。

这是一个相对路径:

<img id="logoImage" src="images/smallprof.png">

这意味着浏览器将查找与当前页面的 url 相关的图像 - 即在根文件夹中它将查找 /images/ 在安全文件夹中查找 /security/windows

这是绝对路径

<img id="logoImage" src="/images/smallprof.png">

无论页面的 url 是什么,浏览器都会一直寻找 /images/

使用绝对路径

于 2012-05-23T06:58:55.807 回答