2012-04-18 103 views
2

リピーターでデータベースから名前、説明、画像を表示しようとしています。 名前と説明は必要に応じて機能しますが、画像は表示されません。画像はプロジェクト内のフォルダにあり、データベースの「パス」列に格納されている文字列で画像にアクセスしようとしています。相続人画像が表示されない、asp:repeater

ああ、私は、ブラウザのソースコードSRC =見れば「」よさそうだ、と私はそれにSRCを貼り付ける場合、私もブラウザにPICを見ることができます。..

私のコード:

<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

+0

私に知らせてください:) –

+0

良いチップ、ありがとう! 「ローカルリソースをロードできません」と表示されます。うーん、それを解決する方法はありますか? – tobbe

2

あなたのパスはC:\\Images\etc.ですか? "Not allowed to load local resource"を取得している場合は、となります。相対パスでパスを試してください。 Webサイトでそれらを持っていない場合は、イメージのコピーをサイトに作成し、そのパスをレンダリングする必要があります。あなたはセキュリティ上の問題に直面しています。

2

Not allowed to load local resourceのエラーは、ローカルシステムのパスを使用してロードしようとしているように聞こえます。ファイルへの相対パスを使用してServer.MapPathを試してみてください。

Server.MapPath("~/images/my-image.jpg"); 
関連する問題