我已经将图片名称加载到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();
}
答案 0 :(得分:2)
您可以根据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"/>
link:http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.placeholder%28v=vs.80%29.aspx
link: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>
...