删除 aspx 页上显示的图像
本文关键字:图像 显示 aspx 删除 | 更新日期: 2023-09-27 18:32:07
我在代码隐藏中创建了一些图像按钮。然后,将图像按钮列表填充为:
protected void Image_Click(object sender, ImageClickEventArgs e)
{
ImageButton imgButton = sender as ImageButton;
imgButton.ImageUrl = Resource.TICK_IMAGE;
// some work
ImageButtonList.Add(imgButton);
}
在我的ASPX页面上,现在会出现一些图像。一段时间后,我想删除这些图像。
我尝试了类似的东西:
buttonList.Clear();
但是,图像仍然显示在ASPX页面上。我应该如何删除这些图像?
我的整个代码看起来像:
public static List<Image> RandomImages = new List<Image>();
protected void Page_Load(object sender, EventArgs e)
{
buttonList.Clear();
if (!string.IsNullOrEmpty(Request.Form[Resource.RESET_BUTTON_ID]) || !Page.IsPostBack)
{
RandomImages = ResetGame();
}
AddCardsToDisplay(RandomImages, CardDiv, true);
}
public void AddCardsToDisplay(List<Image> Images, System.Web.UI.HtmlControls.HtmlGenericControl DivisionName, bool isClickable)
{
foreach (var image in Images)
{
ImageButton button = Utilities.CreateImageButton(image.NewImageURL, image.ID, CardDiv);
AddImageButtonClickEvent(button, isClickable);
}
}
protected List<Image> ResetGame()
{
NumberOfClicks = 0;
return GetRandomImages(NUMBER_OF_IMAGES);
}
public static ImageButton CreateImageButton(string imageUrl, string id, System.Web.UI.HtmlControls.HtmlGenericControl DivisionName)
{
ImageButton button = new ImageButton { ImageUrl = imageUrl, ID = id };
DivisionName.Controls.Add(button);
return button;
}
只需使用列表中的命令"清除"。清空这些按钮的用法。这样做而不是你的 foreach 循环
ImageButtonList.Clear();
它应该工作。 :-)
编辑
我认为图像列表是这些控件的父级。但事实似乎并非如此。
如果要删除按钮本身,请尝试执行以下操作:
imgButton.Parent.Controls.Remove(imgButton);
如果你想隐藏它们。然后做
imgButton.Visible = false;
最后但同样重要的。您可以重置图像网址,将其设置为 null。它应该是可见的(不确定它是否会给你一个红色的x)