首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么删除动态生成的控件

2012-01-13 
如何删除动态生成的控件for(inti0i this.DropDownLists_list1.Counti++){//初始化具体类别的dropdownl

如何删除动态生成的控件
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[ " "]);

热点排行