0

我会尽力解释这个..

在 site.master 中,我像这样在标题中添加了一个徽标。

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

当 url 是帐户的一部分时,徽标在所有接受的页面中都可以正常显示。

例如..

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

然而

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

我猜它是因为它位于父文件夹(图像文件)中。

有没有更好的办法?

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

提前致谢

4

4 回答 4

3

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

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

解释:

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

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

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

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

于 2012-07-18T10:37:06.667 回答
0

This should do it...

  <img alt="" class="style1" src="<%=ResolveClientUrl("~/Images/logo.png")%>" /> 
于 2012-07-18T10:53:45.187 回答
0

@Kevin Main suggested : You need to put runat="server" on the image for this to work.. this worked a treat

于 2012-07-18T11:04:02.053 回答
-1

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

<img alt="" class="style1" src="../Images/logo.png" />
于 2012-07-18T10:39:24.913 回答