Получить изображение из базы данных и связать его с ListView
Я прошу прощения за этот вопрос, так как считаю, что он, вероятно, действительно простой, но у меня, похоже, много проблем с ним.
Я пытаюсь получить изображение, которое я сохранил в базе данных, и привязать его к имеющемуся у меня ListView.
В базе данных у меня нет самого изображения, у меня есть имя изображения, и поэтому я хочу попытаться получить его, используя PathWay.
Я использую веб-сайт ASP.NET Web Forms. Вот ListView, чтобы вы могли лучше понять, что я имею в виду
<asp:ListView runat="server" ID="lvBrands" OnItemDataBound="lvBrands_ItemDataBound">
<LayoutTemplate>
<ul class="grid portfolio isotope no-transition portfolio-hex portfolio-shadows row demo-3 os-animation" data-os-animation="fadeInUp">
<li runat="server" id="itemPlaceholder"></li>
</ul>
</LayoutTemplate>
<ItemTemplate>
<li class="portfolio-item col-md-3 col-sm-3 style fashion grid cs-style-3">
<figure class="portfolio-figure">
<img src="images/products/test.jpg" alt="work-01" />
<figcaption>
<h4 class="title purpleColored" color="#58387B"><%# Eval("name") %></h4>
<span><%# Eval("keyword") %></span> <a class="text-right" href="javascript:;"><i class="fa fa-angle-right"></i></a>
</figcaption>
</figure>
</li>
</ItemTemplate>
</asp:ListView>
Вместо <img src=... />
Я хочу, чтобы путь к картинке был прикреплен, чтобы он мог отображать соответствующую картинку для соответствующей марки.
Бренды - это таблица, которую я создал в sql, в основном отношения между брендами и изображениями один-ко-многим (у одного бренда может быть много картинок)
В том, что я искал до сих пор, я увидел, что лучше использовать OnItemDataBound
чтобы получить картину из БД, любая дальнейшая помощь будет высоко ценится.
Вот код C# для дальнейшей помощи
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DisplayBrands();
}
}
protected void DisplayBrands()
{
using (Entities db = new Entities())
{
List<Brand> brand = db.Brands.ToList();
lvBrands.DataSource = brand.OrderByDescending(b => b.date_created);
lvBrands.DataBind();
}
}
}
Я точно знаю, что должен указать функцию lvBrands_ItemDataBound, но я, честно говоря, не знаю, что добавить.
Любая помощь будет потрясающей, спасибо!
1 ответ
<img src="images/products/test.jpg" alt="work-01" />
Изменить выше как ниже
<img src='<%# @"images/products/" + Eval("Image_name") %>' alt="work-01" />
"Image_name" должно быть именем столбца, в котором вы храните имя картинки.