如何删除动态生成的控件
for(int i=0;i <this.DropDownLists_list1.Count;i++)
{
//初始化具体类别的dropdownlist
string FirstListID = this.DropDownLists_list1[i].ToString();
DropDownList tmp1 = new DropDownList();
tmp1.ID = FirstListID;
tmp1.Items.Insert(0, "aa ");
tmp1.Items.Insert(1, "bb ");
tmp1.Items.Insert(2, "cc ");
PlaceHolder1.Controls.Add(tmp1);
tmp1.SelectedIndex = ((DropDownList)Page.FindControl(FirstListID)).SelectedIndex;
。
。
。
。
我在Page_Load()中这样动态生成了几个dropdownlist,DropDownLists_list1这个是个数组,用来保存控件id的,现在就是如何删除我指定那个动态生成的那个控件,我的做法是删除那个数组里面的控件的id,可是asp.net里面的执行顺序是先Page_Load,再执行我删除button下面的函数的,就是删除那个数组里面的控件的id,所以在页面上显示不出来,需要再次提交页面,小弟我就不知道如何做了??
[解决办法]
在page_load中根据条件来判断是否生成控件:
if (created)
{
生成控件;
}
[解决办法]
page_load
if(!Page.IsPostBack)
{
你生成控件的代码
}
删除的时候,可以
Page.Controls.Remove(Page.Controls[ " "]);