比如动态添加几个textbox,提交后获得这几个textbox的值?

解决方案 »

  1.   

    可以.
    1.在Page_load里面
    TextBox t = new TextBox();
    t.ID = "t1";
    this.Label1.Controls.Add(t);
    以上语句每次页面提交都必须重载一次,不必担心,重新加载之后,输入的内容不会消失然后在其他需要获取的地方如下写:
    TextBox t = this.Label1.FindControl("t1");
      

  2.   

    在JS里用  document.getElementById("控件名").value;  这样也可以取啥
      

  3.   

    private void Page_Load(object sender, System.EventArgs e)
      {
       if(ViewState["ControsAdded"]  != null && (bool)ViewState["ControsAdded"])
       {
        DynamicCreateControls();
       }
      }  private void Button2_Click(object sender, System.EventArgs e)
      {
       DynamicCreateControls();
      }  private void  DynamicCreateControls()
      {
       string[] array = new string[]{"a","b","c","d","e"};
       DropDownList ddl = new DropDownList();
       ddl.ID = "ddl";
       ddl.DataSource = array;
       ddl.DataBind();
       
       Button btn = new Button();
       btn.ID="btn";
       btn.Text = "Click";
       btn.Click +=new EventHandler(btn_Click);   HtmlForm form = this.Page.FindControl("Form1") as HtmlForm;
       if(form != null)
       {
        form.Controls.Add(ddl);
        form.Controls.Add(btn);
        ViewState["ControsAdded"] = true;
       }
      }  private void btn_Click(object o ,EventArgs e)
      {
       HtmlForm form = this.Page.FindControl("Form1") as HtmlForm;
       if(form != null)
       {
        DropDownList ddl = form.FindControl("ddl") as DropDownList ;
        if( ddl != null)
        {
         Response.Write(ddl.SelectedValue);
        }   }
      }