2011-06-27 95 views
5

我想生成textboxes和dropdownboxes作为html表列动态。像这样我想创建30 rows.how在asp.net和c#.net中做到这一点?我想这在一个asp.net页面。在asp.net中动态生成文本框

+1

你能更具体,显示出你所需要的一些布局和一些代码你已经得到了什么? –

回答

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
protected void Page_Load(object sender, EventArgs e) 
{ 
    TextBox box = new TextBox{ID="textbox1", Text="hello :)"}; 
    form1.Controls.Add(box); 
} 
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,名称细节并根据需要下拉项目

+1

如果我想将ajax日历工具包分配给以上述方式生成的文本框之一如何执行此操作? –

+1

创建控件并将目标设置为您正在生成的当前文本框标识,您可以将多个控件添加到表格单元格 – V4Vendetta

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); 
    } 
    

通过使用此方法,您可以在asp.net页面上生成和获取动态控件。

为更多的了解:Check this link