我如何循环通过图像src
本文关键字:图像 src 循环 何循环 | 更新日期: 2023-09-27 18:10:27
我已经将图片名称加载到aspx的数据表中,但是这是将它们放在页面上的最佳方式....
private void LoadPics()
{
Image1.ImageUrl = @"~'Pictures'" + MyClass.dtprop.Rows[0]["name"].ToString();
Label1.Text = MyClass.dtprop.Rows[0]["name"].ToString();
Image2.ImageUrl = @"~'Pictures'" + MyClass.dtprop.Rows[1]["name"].ToString();
Label2.Text = MyClass.dtprop.Rows[1]["name"].ToString();
Image3.ImageUrl = @"~'Pictures'" + MyClass.dtprop.Rows[2]["name"].ToString();
Label3.Text = MyClass.dtprop.Rows[2]["name"].ToString();
Image4.ImageUrl = @"~'Pictures'" + MyClass.dtprop.Rows[3]["name"].ToString();
Label4.Text = MyClass.dtprop.Rows[3]["name"].ToString();
Image5.ImageUrl = @"~'Pictures'" + MyClass.dtprop.Rows[4]["name"].ToString();
Label5.Text = MyClass.dtprop.Rows[4]["name"].ToString();
Image6.ImageUrl = @"~'Pictures'" + MyClass.dtprop.Rows[5]["name"].ToString();
Label6.Text = MyClass.dtprop.Rows[5]["name"].ToString();
}
您可以尝试使用此代码,基于OfType operator linq
var controls = this.Controls.OfType<Image>();
foreach(var item in controls)
{
....
}
如果您希望将它们添加到页面,您可以使用PlaceHolder control
Ph.Contols.Add(yourImage);
您在目标页
中设置了PlaceHolder<asp:PlaceHolder id ="Ph" runat="server"/>
链接:http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.placeholder%28v=vs.80%29.aspx
链接:http://msdn.microsoft.com/fr-fr/library/vstudio/bb360913.aspx
另一个解决方案:您也可以使用GridView control,
绑定此控件在您的DataTable
和定义template field
...
<asp:TemplateField>
<ItemTemplate>
<asp:Image id="img" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
...