在asp.net中动态生成文本框

时间:2011-06-27 06:41:28

标签: c# asp.net

我想动态地生成文本框和下拉框作为html表列。就像这样我想创建30行。如何在asp.net和c#.net中执行此操作?我想在asp.net页面中这样做。

4 个答案:

答案 0 :(得分:4)

 protected void Page_Load(object sender, EventArgs e)
    {
        TextBox txtbx= null;    
        DropDownList ddl = null;

        for (int i = 0; i < 4; i++)
        {               
            txtbx= new TextBox();
            txtbx.ID = "mytxt" + i; 
            txtbx.Text = "mytxt" + i;            

            pnlButton.Controls.Add(txtbx);    

            ddl= new DropDownList();
            ddl.ID = "mydropdown " + j;
            ddl.Text = "mydropdown " + j;
            ddl.Items.Add("Hii");
            ddl.Items.Add("Hello");
            ddl.AutoPostBack = true;
            ddl.SelectedIndexChanged += new EventHandler(ddl_Click);

            pnlButton.Controls.Add(ddl);

            Literal lit = new Literal();
            lit.Text = "</br></br>";
            pnlButton.Controls.Add(lit);
        }
    }

答案 1 :(得分:3)

  1. 在aspx页面上,使用面板以正确的方式显示控件,以及用于保存数据的按钮

    <asp:Panel ID="pnlQuestions" runat="server" Width="100%">
    </asp:Panel>
    <asp:LinkButton ID="lbtnNext" runat="server" CssClass="button" ToolTip="Next"
    OnClick="lbtnNext_Click"><span>Save & Next</span></asp:LinkButton>
    
  2. 在aspx.cs页面后面的代码中,您可以在Page_Init事件上生成所有动态控件

    protected void Page_Init(object sender, EventArgs e)
    {
         TextBox txt = new  TextBox();
         txt.Text = QuestionText;
         txt.ID = "que1";
         pnlQuestions.Controls.Add(txt);
    }
    
  3. 您可以按此按钮点击事件获取所有动态控制值

     protected void lbtnNext_Click(object sender,EventArgs e)
     {
          TextBox txt = ((TextBox)pnlQuestions.FindControl("que1"));
          AnswerText = txt.Text.Trim();
          Response.Write(AnswerText); 
     }
    
  4. 通过使用此方法,您可以在asp.net页面上生成和获取动态控件。

    更多理解:Check this link

答案 2 :(得分:2)

首先,你需要像

这样的东西
<asp:Table ID="mytbl" runat="server">
    </asp:Table>

在后面的代码中,您可以添加为

TableRow trow;
TableCell tcell1, tcell2;
for (int i = 0; i < 30; i++)
{
   trow = new TableRow();
   tcell1 = new TableCell();
   tcell1.Controls.Add(new TextBox());
   tcell2 = new TableCell();
   tcell2.Controls.Add(new DropDownList());
   trow.Cells.Add(tcell1);
   trow.Cells.Add(tcell2);
   mytbl.Rows.Add(trow);
}

根据需要添加ID,名称和下拉项目的详细信息

答案 3 :(得分:1)

protected void Page_Load(object sender, EventArgs e)
{
    TextBox box = new TextBox{ID="textbox1", Text="hello :)"};
    form1.Controls.Add(box);
}