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

取得动态添加控件的值,分不够再加解决方法

2012-01-12 
取得动态添加控件的值,分不够再加以下是我创建控件的代码:intj100if(ij){ButtondeletenewButton()del

取得动态添加控件的值,分不够再加
以下是我创建控件的代码:
                int   j   =   100;
                if   (i   <   j)
                {

                        Button   delete   =   new   Button();
                        delete.ID   =   "delete "   +   i.ToString();
                        delete.Text   =   "删除 ";

                        TextBox   arr_dt   =   new   TextBox();
                        arr_dt.ID   =   "arr_dt "   +   i.ToString();
                        arr_dt.Text   =   DateTime.Today.ToShortDateString();
                        arr_dt.Width   =   90;


                        TextBox   lea_dt   =   new   TextBox();
                        lea_dt.ID   =   "lea_dt "   +   i.ToString();
                        lea_dt.Text   =   DateTime.Today.AddDays(+1).ToShortDateString();
                        lea_dt.Width   =   90;

                        TextBox   rm_num   =   new   TextBox();
                        rm_num.ID   =   "rm_num "   +   i.ToString();
                        rm_num.Text   =   "1 ";
                        rm_num.Width   =   30;

                        TextBox   pre_num   =   new   TextBox();
                        pre_num.ID   =   "pre_num "   +   i.ToString();
                        pre_num.Text   =   "1 ";//是否取床位数?
                        pre_num.Width   =   30;

                        DropDownList   rm_typ   =   new   DropDownList();
                        rm_typ.ID   =   "rm_typ "   +   i.ToString();
                        rm_typ.Width   =   150;
                        rm_typ.Items.Clear();
                        foreach   (ListItem   li   in   DropDownList3.Items)


                        {
                                rm_typ.Items.Add(new   ListItem(li.Text,   li.Value));
                        }
                        rm_typ.SelectedIndex   =   0;

                        Panel1.Controls.Add(arr_dt);
                        Panel1.Controls.Add(lea_dt);
                        Panel1.Controls.Add(rm_typ);
                        Panel1.Controls.Add(rm_num);
                        Panel1.Controls.Add(pre_num);
                        Panel1.Controls.Add(delete);
                        delete.Attributes.Add( "onclick ",   "return   confirm( '您确定要删除该预定吗? '); ");
                        delete.Click   +=   new   EventHandler(btnDelRow_Click);
                }

因为添加的这些控件可以被删除,所以取得时候我先取得没有被删除的控件(因为一组控件的数字标示是一样的,比如textbox1,button1是一组,textbox5,button5是一组)所以我只取了button的id值,由此可知还有哪些数字标示的控件没有被删除。

于是有了下面的代码:

ArrayList   bb   =   new   ArrayList();

                        foreach   (System.Web.UI.Control   t   in   Panel1.Controls)
                        {
                                if   (t.GetType().ToString()   ==   "System.Web.UI.WebControls.Button ")
                                {
                                        System.Web.UI.WebControls.Button   tb   =   (Button)t;
                                        string   numcount   =   tb.ID.ToString().TrimEnd().Substring(6);
                                        bb.Add(numcount);
                                }

这段就是取出1,2,4,5,7,9,这样的数字标示,来判断控件是否还存在。

接下来,就是问题了

比如现在控件存在1,2,4,5,7,9这几组,1,2,4,5,7,9村在数组ArrayList   bb   =   new   ArrayList();
里面。


for   (int   k   =   0;   k   <   bb.Count;   k++)
                        {
                                TextBox   arr_dt   =   new   TextBox();


                                arr_dt.ID   =   "arr_dt "   +   bb[k].ToString();

                                TextBox   lea_dt   =   new   TextBox();
                                lea_dt.ID   =   "lea_dt "   +   bb[k].ToString();

                                TextBox   rm_num   =   new   TextBox();
                                rm_num.ID   =   "rm_num "   +   bb[k].ToString();

                                TextBox   pre_num   =   new   TextBox();
                                pre_num.ID   =   "pre_num "   +   bb[k].ToString();

                                DropDownList   rm_typ   =   new   DropDownList();
                                rm_typ.ID   =   "rm_typ "   +   bb[k].ToString();
                          }

但是我却不能用pre_num.ID,rm_typ.ID等来取值!
高人指点一下,谢谢!

[解决办法]
来了

热点排行