2011-06-27 121 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