2010-04-13 98 views
6

这可能是一件非常简单的事情,但我无法看到什么! 我在主页上的任何图像都没有出现在子页面中, 我所得到的只是包含红色十字的框。母版页图像不在子页面上显示

我不认为我做了与平常不同的事情,也不是 在其他网站发生的事情,所以我有点儿用它刮脸。 任何想法感谢!

回答

19

凯文的问题的本质是正确的 - 您的母版页中的URL可能与母版页的位置有关,并且当它包含在子页中时,相对引用不是更正了。这种类型的最简单的解决方案是让您的主页面网址与网站相关,而不是页面。换句话说,如果你一直在做

<img src="images/picture1.gif"> 

您需要更换与

<img src="/images/picture1.gif"> 

或类似的东西。

+0

谢谢,它帮助医生:-) – Shaahin 2012-09-08 15:07:42

1

图像的URL不正确。

+0

将id从解决方案资源管理器拖到窗体中完成了什么操作。 我拉了一个asp:图像,并设置网址,这没有把戏,谢谢 – DarkW1nter 2010-04-13 14:27:23

0

它绝对听起来像你有一个路径问题。查看渲染页面的源代码,并查看它试图从哪里加载图像,这应该有助于您修复路径。

4

你给图像runat =“server”,并使用一个根相对“〜/”路径的文件?

1

尝试使用您的图像的绝对路径。

我在使用具有不同子目录中的内容页的主文件时遇到此问题。 如果您使用图像的相对路径,则应该相对于内容页面而不是主人。

编辑:如果您使用img标记显示图像,则为true。 asp:Image表现更好=)

8

在母版页中您使用的图像src类似于下面的行,这将工作。这个问题解决了这个问题。

src="<%= Page.ResolveUrl("~")%>Images/myimage.png" 
+0

正确的一个。解决所有情况下的网址。 – Rezoan 2016-03-21 10:37:58

0

如果你设置了正确的道路,然后还你然后让同样的问题,你可以试试这个肯定会解决你的问题:出发前

使用双点(..)的网址。

+0

这不是用于以相对方式引用图像吗? “..”约定仅用于从当前页面中提升文件夹级别。 – Kristopher 2016-03-03 13:14:05

0

如果内容页面位于子文件夹内,则会出现此问题。当呈现内容页面时,主页面内容也重新生成标记,并且图像的位置可以呈现为与主页面中显示的不同。最好的方法是用asp:图片代替HTML图片标签。然后定义绝对起点:〜/到图像的实际位置。这应该可以解决问题。在插入asp:Image之前,请删除整个图像标签,因为两者的属性都不相同。 祝你好运!

0

如果您使用image<img>标记代替此标记,请在任何其他标记中使用“style="background-image: url('/Images/welc.jpg');”。这看起来像一个愚蠢的,但它适用于我。我也遇到了这个问题,之后使用它,我在我的所有子页面都得到了图像。