我有6个Image控件,通过数据库中的URL从文件夹中获取图像。重点是我静静地做。我想通过使用for循环或每个循环将其更改为动态,但我不知道如何做到这一点。将来如果数字图像控件增加,则很难静态地指定每一个。
我正在使用asp Image标签。
到目前为止,代码在静态下运行良好,但我希望它使用一些循环使其动态化。
到目前为止我尝试过的代码: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];
}
}
答案 0 :(得分:2)
你可以使用转发器控制:
<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();
}
}