从数据库中获取图片并绑定到ListView

本文关键字:绑定 ListView 取图片 数据库 获取 | 更新日期: 2023-09-27 18:05:33

我很抱歉这个问题,因为我相信它可能是非常基本的,但我似乎有很多麻烦。

我要做的是得到我保存在数据库中的图片并将其绑定到我拥有的ListView。

在数据库中,我没有图片本身,我有图片的名字所以我想尝试通过它的路径获取它

我正在使用ASP。. NET Web窗体网站这是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=... />,我想要附加图片路径,以便它可以显示相应品牌的适当图片。

Brands是我在sql中创建的一个表,基本上Brands和Pictures之间的关系是一对多的(一个Brand可以有多张图片)

在我搜索到目前为止,我看到它是更好的使用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函数,但我真的不知道该添加什么。

任何帮助将是惊人的,谢谢你!

从数据库中获取图片并绑定到ListView

<img src="images/products/test.jpg" alt="work-01" />

像下面一样改变上面

<img src='<%# @"images/products/" + Eval("Image_name") %>' alt="work-01" />

"Image_name"应该是存储图片名称的列名。