我如何循环通过图像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();
}

我如何循环通过图像src

您可以尝试使用此代码,基于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>
...