从后面的代码</asp:image>添加<asp:image>

时间:2012-11-05 11:43:03

标签: c# asp.net webforms

我想将代码隐藏中的<asp:image>添加到页面上。我网站上的用户将上传X张图片,我不想在图片上传前添加<asp:images>

我想添加<asp:image>的原因是向用户显示已上传的图片。

如何做到这一点?

我已经看到了占位符控制器的使用,但是当变量不同时如何使用?对于每次上传,图像都应添加到网站上。

1 个答案:

答案 0 :(得分:3)

您可以通过创建新的Image对象变量,然后正确分配其属性,然后将图像附加到页面上的现有对象来实现。

Image myImg = new Image();
myImg.ImageUrl = "path_of_the_image.jpg";
myImg.Visible = true;
Panel1.Controls.Add(myImg);   //You can attach the image to any control on your page

或类似地:

this.Controls.Add(myImg);     //Incase you wanted the image on your page controls
Label1.Controls.Add(myImg);   //Incase you wanted the image to appear in a certain label

但是,此对象不会超出您执行的代码的生命周期。这意味着,您将无法在以后与此对象进行交互,因为它是在Page_Init的范围之后定义的。如果你想动态添加这个图像然后能够与它交互,你应该在Page_Init事件期间添加它。