C# 未显示图像,asp:repeater
我试图用一个转发器显示我数据库中的姓名、描述和图片。 名称和描述工作正常,但图像不会显示。这些图像位于我的项目中的一个文件夹中,我试图使用存储在数据库“路径”列中的字符串访问它们 哦,但是如果我看一下浏览器的源代码,src=”“看起来不错,如果我将src粘贴到浏览器中,我甚至可以在浏览器中查看图片 这是我的密码:C# 未显示图像,asp:repeater,c#,asp.net,C#,Asp.net,我试图用一个转发器显示我数据库中的姓名、描述和图片。 名称和描述工作正常,但图像不会显示。这些图像位于我的项目中的一个文件夹中,我试图使用存储在数据库“路径”列中的字符串访问它们 哦,但是如果我看一下浏览器的源代码,src=”“看起来不错,如果我将src粘贴到浏览器中,我甚至可以在浏览器中查看图片 这是我的密码: <head runat="server"> <title></title> <style type="text/css"> .
<head runat="server">
<title></title>
<style type="text/css">
.bilder {width:300;
height:200;
margin: 10px;
border: 1px solid black;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater runat="server" ID="minRepeater">
<ItemTemplate>
<div class="wrapper">
<h1><%# DataBinder.Eval(Container.DataItem, "Name") %></h1>
<span id="desc"><%# DataBinder.Eval(Container.DataItem, "Description") %></span><br />
<img src="<%# DataBinder.Eval(Container.DataItem, "Path") %>" alt="test" class="bilder" />
<asp:Image ID="Image1" CssClass="bilder" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Path")%>' runat="server" />
</div>
</ItemTemplate>
</asp:Repeater>
</div>
(是的,我知道我的代码根本不安全。)
以下是它在浏览器中的外观:
有什么想法吗?:) 您可以在Firebug或Chrome中运行它,查看是否未找到图像(404)及其路径。您的路径是否类似于
C:\\images\etc.
。。?如果您收到“不允许加载本地资源”
,您应该尝试使用相对路径的路径。如果您的网站中没有相关路径,您应该将图像复制到网站并呈现该路径。您正面临安全问题。您得到的错误不允许加载本地资源
听起来像是您试图使用本地系统上的路径加载。尝试使用带有文件相对路径的Server.MapPath
,例如:
Server.MapPath("~/images/my-image.jpg");
好提示,谢谢!它说“不允许加载本地资源”。嗯,你知道怎么解决这个问题吗?问题,这些图像正在被另一个程序访问?(像编辑)没有,但我之前在添加图片时遇到了类似的问题。你还应该使用图像的相对路径。啊,这就解决了问题!实际上,当我在数据库中存储路径时,我正试图这样做,但是一个打字错误(有点)让我从c中保存了整个路径:谢谢你的帮助!
Server.MapPath("~/images/my-image.jpg");