删除 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;
    }

删除 aspx 页上显示的图像

只需使用列表中的命令"清除"。清空这些按钮的用法。这样做而不是你的 foreach 循环

 ImageButtonList.Clear();

它应该工作。 :-)

编辑

我认为图像列表是这些控件的父级。但事实似乎并非如此。

如果要删除按钮本身,请尝试执行以下操作:

 imgButton.Parent.Controls.Remove(imgButton);

如果你想隐藏它们。然后做

 imgButton.Visible = false;

最后但同样重要的。您可以重置图像网址,将其设置为 null。它应该是可见的(不确定它是否会给你一个红色的x)