2012-04-18 79 views
2

我試圖用中繼器顯示數據庫中的名稱,描述和圖片。 名稱和說明的工作原理應該如此,但圖像不會顯示出來。這些圖像位於我的項目中的一個文件夾中,我嘗試使用存儲在數據庫「路徑」列中的字符串訪問它們。圖像不顯示,asp:中繼器

哦,但如果我看瀏覽器的源代碼中的src =「」很好看,我甚至可以看看在瀏覽器中PIC如果我粘貼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> 

和代碼隱藏:

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

有什麼想法? :)

回答

2

您可以在Firebug或Chrome中運行它,看看是否找不到圖像(404)和他們的路徑。

+0

生病檢查,馬上! – tobbe 2012-04-18 17:46:30

+0

只是讓我知道:) – 2012-04-18 17:47:18

+0

好的提示,謝謝!它說「不允許加載本地資源」。嗯,任何想法如何解決? – tobbe 2012-04-18 17:48:40

2

是你的路徑像C:\\Images\etc. ..?如果你得到"Not allowed to load local resource",你應該嘗試你的路徑與相對路徑..如果你沒有他們在網站上,你應該複製圖像到網站並呈現該路徑。您正面臨安全問題。

2

你得到的錯誤Not allowed to load local resource聽起來像你試圖加載使用本地系統上的路徑。嘗試使用Server.MapPath與文件的相對路徑,例如:

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