2011-06-27 13 views
5

Quiero generar cuadros de texto y cuadros desplegables como columnas de tabla html dinámicamente. Como este, quiero crear 30 filas. ¿Cómo hacer esto en asp.net yC# .net? Quiero esto en una página asp.net.para generar cuadros de texto dinámicamente en asp.net

+1

¿Puede ser más específico, muestran cierta disposición de lo que necesita y algo de código que ya tiene? –

Respuesta

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

Para empezar lo que se necesita algo así como

<asp:Table ID="mytbl" runat="server"> 
    </asp:Table> 

En el código detrás entonces se puede añadir al

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

Agregar necesita detalles de identificación, nombre y elementos desplegables como usted necesita

+1

si quiero asignar un juego de herramientas de calendario ajax a uno de los cuadros de texto generados de la manera anterior ¿cómo hacerlo? –

+1

Crea el control y establece el destino como el ID de la caja de texto actual que estás generando, puedes agregar múltiples controles a una celda de la tabla – V4Vendetta

3
  1. En la página aspx utilizar un panel para mostrar los controles de una manera adecuada como este y un botón para guardar los datos en

    <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. En el código detrás de la página aspx.cs, puede generar todos los controles dinámicos de evento 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. Usted puede obtener todo el valor controles dinámicos en el evento de clic de botón como éste

    protected void lbtnNext_Click(object sender,EventArgs e) 
    { 
         TextBox txt = ((TextBox)pnlQuestions.FindControl("que1")); 
         AnswerText = txt.Text.Trim(); 
         Response.Write(AnswerText); 
    } 
    

Al usar este método, puede generar y obtener controles dinámicos en la página asp.net.

para la comprensión mucho más: Check this link

Cuestiones relacionadas