删除出现在aspx页面上的图像

时间:2014-11-27 07:07:39

标签: c# asp.net

我在代码隐藏中创建了一些ImageButtons。 然后,将ImageButtons列表填充为:

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

1 个答案:

答案 0 :(得分:0)

只需使用命令&#34;清除&#34;从你的清单。要清空这些按钮的用法。这样做而不是你的foreach循环

 ImageButtonList.Clear();

它应该有效。 : - )

修改

我认为imagelist是这些控件的父级。但情况似乎并非如此。

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

 imgButton.Parent.Controls.Remove(imgButton);

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

 imgButton.Visible = false;

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