动态添加一个控件后,比如说是textbox.只能设置ID属性,如何设置它的name属性?这个name 属性对我太重要了,因为我要使用JS来进行一些没它不可的处理!是不是实现不了?谁知道.

解决方案 »

  1.   

    首先,ClientID是 只读属性 .还有,我要设置的是name.跟id没关系,谢谢因为我要document.getElementsByName的时候用.
      

  2.   


           protected void Page_Load(object sender, EventArgs e)
            {
                TextBox tb = new TextBox();
                tb.Attributes.Add("name", "Your Name");
                tb.ID = "TextBox1";
                this.form1.Controls.Add(tb);
            }
      

  3.   

    楼上的哥们,你这样写,tb会有2个name.而且,你定义的name是在后面也就是说,js操作的时候,根本解析不到你定义的,后面的name.
      

  4.   

    微软的TextBox后台render时默认执行writer.AddAttribute(HtmlTextWriterAttribute.Name, uniqueID);也就是将TextBox的uniqueID赋给name属性,你外部无法控制,只能接受name与id值相同;除非你自己重写一个TextBox
      

  5.   

    借用上面写的代码。 protected void Page_Load(object sender, EventArgs e)
            {
               //创建n个 
                for(int i=0;i<n;i++){
                TextBox tb = new TextBox();
                tb.Attributes.Add("name", "Your Name");
                tb.UniqueeID= "TextBox"+i.ToString();
                this.Controls[1].Controls.Add(tb);
                 }
            }
      

  6.   

     Button bt = new Button();
            bt.Text = "提交";
            bt.ID = "button1";
            bt.Name="name1"
            bt.Click += bt_Click;
            PlaceHolder1.Controls.Add(bt);