徽标没有出现在ASP.net webforms标题的某些页面上

时间:2012-07-18 10:34:58

标签: asp.net html css

我尽力解释这个......

在site.master中的

我在标题中添加了一个徽标,如此。

<div class="title">
               <img alt="" class="style1" src="Images/logo.png" />     
</div>

当网址是帐户的一部分时,徽标在所有页面中显示正常。

例如..

“http:// localhost:54341 / Sitename / mypage.aspx”(显示正常)

然而

“http:// localhost:54341 / Sitename / Account / Register.aspx”(不显示)

我猜它,因为它在父文件夹(图像文件)中。

有更好的方法吗?

编辑:图片文件夹位于顶层

提前致谢

4 个答案:

答案 0 :(得分:3)

尝试使用相对于应用程序根目录的相对路径:

   <img alt="" class="style1" runat="server" src="~/Images/logo.png" /> 

<强>阐释:

ASP.NET包含Web应用程序根运算符(〜),您可以在服务器控件中指定路径时使用该运算符。 ASP.NET将〜运算符解析为当前应用程序的根。您可以将〜运算符与文件夹结合使用,以指定基于当前根目录的路径。

以下示例显示了〜运算符,用于在使用映像服务器控件时指定映像的根相对路径在此示例中,映像文件是从位于Web根目录下的Images文件夹中读取的应用程序,无论页面位于网站的哪个位置。

<asp:image runat="server" id="Image1"
  ImageUrl="~/Images/SampleImage.jpg" />

您可以在服务器控件中的任何与路径相关的属性中使用〜运算符。 〜运算符仅在服务器控件和服务器代码中被识别。您不能将〜运算符用于客户端元素。

答案 1 :(得分:0)

应该这样做......

  <img alt="" class="style1" src="<%=ResolveClientUrl("~/Images/logo.png")%>" /> 

答案 2 :(得分:0)

@Kevin Main建议:你需要在图像上放置runat =“server”才能工作..这是一种享受

答案 3 :(得分:-1)

这适用于localhost:54341/Sitename/Account/Register.aspx

<img alt="" class="style1" src="../Images/logo.png" />