簡體   English   中英

刪除顯示在aspx頁面上的圖像

[英]Remove images appearing on the aspx page

我在后台代碼中創建了一些ImageButton。 然后,將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;
    }

只需從列表中使用命令“清除”即可。 要清空這些按鈕的用法。 這樣做,而不是您的foreach循環

 ImageButtonList.Clear();

它應該工作。 :-)

編輯

我認為imagelist是這些控件的父級。 但事實並非如此。

如果要刪除按鈕本身,請嘗試執行以下操作:

 imgButton.Parent.Controls.Remove(imgButton);

如果您只想隱藏它們。 然后做

 imgButton.Visible = false;

最后但並非最不重要的。 您可以重置圖像網址,將其設置為null。 而且它應該是可見的(雖然不確定它是否會給您一個紅色的x)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM