将图像控件从静态更改为动态
本文关键字:动态 静态 图像 控件 | 更新日期: 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();
}
}