tobbe
tobbe

Reputation: 1807

Images not displaying, asp:repeater

Im trying to display name, description and a picture from my database with a repeater. The Name and Description works as they should but the images won't show up. The images is located in a folder in my project and I'm trying to access them with a string that i have stored in the database "path" column.

oh, but if I look at the source code of the browser the src="" looks good, and i can even look at the pic in the browser if i paste the src to it..

Heres my code:

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

and 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();
    }

(yes i know that my code isn't safe. at all.)

here's how it looks in a browser: enter image description here

any ideas? :)

Upvotes: 2

Views: 2135

Answers (3)

Hector Sanchez
Hector Sanchez

Reputation: 2317

Is your path like C:\\Images\etc...? If you are getting "Not allowed to load local resource", you should try your paths with relative paths.. if you dont have them in the WebSite you should make a copy of the image to the site and render that path. You are facing security problems.

Upvotes: 2

Robbie
Robbie

Reputation: 19500

The error you're getting Not allowed to load local resource sounds like you are trying to load using a path on your local system. Trying using Server.MapPath with a relative path to the file, for example:

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

Upvotes: 2

Gustavo Gondim
Gustavo Gondim

Reputation: 1643

You may run it in Firebug or Chrome and see if the images are not found (404) and theirs path.

Upvotes: 2

Related Questions