none
Obtener valor de un textbox creado en el load RRS feed

  • Pregunta

  • Buenas Tardes. Recurro a vuestra ayuda, tengo por ejemplo el siguiente codigo puesto en un load de un formulario, para que se creen determinados textbox. Ahora el problema es como obtengo el texto de uno de ellos, sabiendo que en el codigo no reconoce pues aun no se han creado.

     

    int i;

     

    int ex = 50;

     

    for (i = 0; i < 5; i++)

    {

     

    TextBox tb = new TextBox();

    tb.Name =

    "txtTexto" + i;

    tb.Size =

    new Size(20, 10);

    tb.Location =

    new Point(10, ex);

     

    this.Controls.Add(tb);

    ex += 30;

    }

    jueves, 30 de diciembre de 2010 18:23

Respuestas

  • hola

    imagino aplcias un cancepto similar al explciado aqui

    CÓMO: Crear controles dinámicamente en ASP.NET con Visual Basic .NET

    o sea en el Page_Init (o Page_Load) de la pagina creas los controles dinamicos, pero esto esta por fuera del IspostBack, o sea simpre que hay un evento se recrea la estrcutura dinamica

     

    para tomar los valores, has probado usando el Request.Form ?

    con este podrias tomar el valor del control usando el nombre del mismo

    si quieres acceder al primer control seria

    string valor = Request.Form["txtTexto0"].ToString();

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Aquaventus lunes, 3 de enero de 2011 15:26
    viernes, 31 de diciembre de 2010 2:29

Todas las respuestas

  • Saludo, cada uno de los controles de servidor ASP.NET tiene su propio ciclo de vida, que es similar al ciclo de vida de la página. Por ejemplo, se llama a los métodos Init y Load de un control durante los eventos de página correspondientes. Si ha incluido un control en la página, se llamará primero al método Init de dicho control, seguido por el método Init de la página. Sin embargo, se llamará antes al método Load de la página que al método Load del control.

    Esto da por entendido que cuando se cargue la pagina ya se puede tener acceso a los controles que en esta se encuentren

    Mediante su nombre puede tener acceso a los controles creado por el bucle for. ahora bien dentro del bucle tu no puede accesar al control 5 en la creacion del boton 3 4, pero del 5 tu puede obtener acceso a las propiedades del los controles anteriores.

    Ciclo de vida de la pagina:

    Page_PreInit

    Page_Init              Leer o inicializar las propiedades de los controles.

    Durante la inicialización de la página, los controles incluidos en ella están disponibles y se establece la propiedad UniqueID de cada uno de ellos. Además, se aplican los temas correspondientes a la página. Si la solicitud actual es una devolución de datos, los datos de devolución aún no se han cargado y los valores de las propiedades del control no se han restaurado a los valores del estado de vista.

    Page_Load            Leer y actualizar las propiedades de los controles.

    Durante la carga, si la solicitud actual es una devolución de datos, las propiedades del control se cargan con información recuperada del estado de vista y del estado del control.

    Control events

    Page_PreRender

    Page_Unload

     

    Si la informacion te fue de Utilidad marcala como util

    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    • Editado Angel Jimenez jueves, 30 de diciembre de 2010 21:49 Modificar
    jueves, 30 de diciembre de 2010 21:41
  • hola

    imagino aplcias un cancepto similar al explciado aqui

    CÓMO: Crear controles dinámicamente en ASP.NET con Visual Basic .NET

    o sea en el Page_Init (o Page_Load) de la pagina creas los controles dinamicos, pero esto esta por fuera del IspostBack, o sea simpre que hay un evento se recrea la estrcutura dinamica

     

    para tomar los valores, has probado usando el Request.Form ?

    con este podrias tomar el valor del control usando el nombre del mismo

    si quieres acceder al primer control seria

    string valor = Request.Form["txtTexto0"].ToString();

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Aquaventus lunes, 3 de enero de 2011 15:26
    viernes, 31 de diciembre de 2010 2:29