图像不显示,asp:转发器

时间:2012-04-18 17:43:18

标签: c# asp.net

我试图用转发器显示我的数据库中的名称,描述和图片。 名称和说明可以正常工作,但图像不会显示。图像位于我项目的一个文件夹中,我正在尝试使用存储在数据库“path”列中的字符串来访问它们。

哦,但如果我查看浏览器的源代码,src =“”看起来不错,如果我将src粘贴到它上,我甚至可以在浏览器中查看图片。

继承我的代码:

<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>

和codebehind:

protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = connectionstring;

        SqlCommand com = new SqlCommand();
        com.CommandText = "SELECT * FROM Pictures";
        com.Connection = con;

        SqlDataAdapter ad = new SqlDataAdapter();
        ad.SelectCommand = com;

        DataTable dt = new DataTable();
        ad.Fill(dt);

        Response.Write(dt.Rows.Count);

        minRepeater.DataSource = dt;
        minRepeater.DataBind();
    }

(是的,我知道我的代码根本不安全。)

这是它在浏览器中的外观: enter image description here

任何想法? :)

3 个答案:

答案 0 :(得分:2)

您可以在Firebug或Chrome中运行它,看看是否找不到图像(404)及其路径。

答案 1 :(得分:2)

你的路径是C:\\Images\etc. ..?如果您获得"Not allowed to load local resource",则应尝试使用相对路径的路径.. 如果您在网站中没有它们,则应将图像副本复制到网站并渲染该路径。您正面临安全问题。

答案 2 :(得分:2)

您收到的错误Not allowed to load local resource听起来像是在尝试使用本地系统上的路径加载。尝试使用Server.MapPath和文件的相对路径,例如:

Server.MapPath("~/images/my-image.jpg");