今天我发现了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默认模板...
Fallow是屏幕
<img id="logoImage" runat="server" src="~/images/headerlogo.png" /><span id="headerUser">heidi jones</span>
I miss runat tag
答案 0 :(得分:1)
正在从相对网址加载图片 - 因此您的根文件夹页面可以正常工作,但在子文件夹中不能在任何图像控件的网址开头使用~
(请不要忘记{{1} })
波形符(〜)字符表示ASP.NET中应用程序的根目录。
这是一条相对路径:
runat='server'
这意味着浏览器将查找RELATIVE到当前页面的URL的图像 - 即在根文件夹中它将在安全文件夹中查找/ images /它将查找/ security / windows
这是绝对路径
<img id="logoImage" src="images/smallprof.png">
无论页面的网址是什么,浏览器都会始终查找/ images /
使用绝对路径