[英]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.