我在代码隐藏中创建了一些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;
}
答案 0 :(得分:0)
只需使用命令&#34;清除&#34;从你的清单。要清空这些按钮的用法。这样做而不是你的foreach循环
ImageButtonList.Clear();
它应该有效。 : - )
修改强>
我认为imagelist是这些控件的父级。但情况似乎并非如此。
如果您想要删除按钮本身,请尝试执行以下操作:
imgButton.Parent.Controls.Remove(imgButton);
如果你想隐藏它们。然后做
imgButton.Visible = false;
最后但并非最不重要。您可以重置图像URL,将其设置为null。它应该是可见的(不确定它是否会给你一个红色的x)