将图像控件从静态更改为动态

本文关键字:动态 静态 图像 控件 | 更新日期: 2023-09-27 18:27:43

我有6个图像控件,它们通过数据库中的URL从文件夹中获取图像。重点是我是静态地做这件事的。我想通过使用for循环或for each循环将其更改为动态,但我不知道如何做到这一点。将来,如果图像控件的数量增加,则很难静态指定每个控件。

我正在使用asp图像标签。

到目前为止,代码可以像静态一样正常工作,但我希望它使用一些循环使其成为动态的。

到目前为止我已经尝试过的代码:

protected void Page_Load(object sender, EventArgs e)
    {
        using (Property_dbDataContext context = new Property_dbDataContext())
        {
            var strURL = context.retrieveImage()
                    .Select(s => s.image_url)
                    .ToList();
            Image1.ImageUrl = strURL[0];
            Image2.ImageUrl = strURL[1];
            Image3.ImageUrl = strURL[2];
            Image4.ImageUrl = strURL[3];
            Image5.ImageUrl = strURL[4];
            Image6.ImageUrl = strURL[5];
        }
    }

将图像控件从静态更改为动态

您可以使用中继器控制:

<asp:Repeater ID="rptImageList" runat="server">
    <ItemTemplate>
        <asp:Image runat="server" ImageUrl="<%# Container.DataItem %>" />
    </ItemTemplate>
</asp:Repeater>

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    using (Property_dbDataContext context = new Property_dbDataContext())
    {
        var strURL = context.retrieveImage()
                .Select(s => s.image_url)
                .ToList();
        rptImageList.DataSource = strURL;
        rptImageList.DataBind();            
    }
}