Foros del Web » Programación para mayores de 30 ;) » .NET »

Creación dinámica de TextBox's

Estas en el tema de Creación dinámica de TextBox's en el foro de .NET en Foros del Web. Hola... ¿Cómo puedo crear dinámicamente una serie de TextBox's en un WebForm y luego capturar sus datos? Me explico... según unos valores que obtengo de ...
  #1 (permalink)  
Antiguo 17/04/2005, 08:50
 
Fecha de Ingreso: agosto-2004
Mensajes: 37
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta Creación dinámica de TextBox's

Hola...

¿Cómo puedo crear dinámicamente una serie de TextBox's en un WebForm y luego capturar sus datos?
Me explico... según unos valores que obtengo de un WebForm previo, en el siguiente WebForm tendré que pedir otra serie de datos. Como no sé qué valores elegirá el usuario, decidí crear en tiempo de ejecución en la función Page_Load los TextBox oportunos, pero claro, ahora, al salir de dicha función dichos TextBox "mueren" sin que pueda en otra función posterior capturar los nuevos datos aquí introducidos.

¿A alguien se le ocurre algo?

Gracias.
  #2 (permalink)  
Antiguo 18/04/2005, 02:37
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
podrias crear textbox dinamicamente poniendo codigo entre el html dentro de etiquetas como estas;
<% if condicon then %>
<asp:textbox....>
<% end if%>
Podrias hacer dependiendo de una serie d edatos que se creen una serie d etexbox con elgun bucle o condicion,podrias recoger una serie d eparametros q mandarias en la url que te servirian de filtro o condicion para crear estos textox,estos le asiganiras el valor q kerrias q tubieran y lo matendiran.
  #3 (permalink)  
Antiguo 18/04/2005, 03:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 37
Antigüedad: 19 años, 8 meses
Puntos: 0
Gracias, pero..

Lo dicho, gracias... pero andaba buscando algo para hacer directamente sobre el código en c# pq no creo q hacer esto sea tan difícil... pero no sé, no se me ocurre nada y "toy bloqueao"

Recibo un número de variables y un número de restricciones y conforme a ello en el siguiente WebForm tengo que crear una serie de ecuaciones donde el usuario introduzca (en los textbox creados) los valores para las variables y las restricciones antes especificadas... pero no sé cómo puedo pillar los valores de dichos textbox.

Probaré con tu solución... pero se aceptan más sugerencias.

Gracias
  #4 (permalink)  
Antiguo 18/04/2005, 03:42
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Como q no sabes pillar los valores de esos texbox?????
Si me esplicas un poco mas eso,kizas te pueda hechar un cable
  #5 (permalink)  
Antiguo 18/04/2005, 03:51
 
Fecha de Ingreso: agosto-2004
Mensajes: 37
Antigüedad: 19 años, 8 meses
Puntos: 0
A ver si me explico bien...

Hola d nuevo...

...amos a ver si ahora me explico mejor.

En un primer WebForm pido al usuario que introduzca el número de variables y restricciones para establecer el problema. Según esos números, en el siguiente WebForm, le presento una serie de ecuaciones, una para introducir los valores de las variables (2, 3, ..., n, dependiendo del número escogido antes) y luego otras ecuaciones más, tantas como número de restricciones eligió previamente, con sus respectivos "huecos" para que rellene los valores que desea.

Pues bien, estas ecuaciones son las que creo dinámicamente en la función Page_Load, y claro, al salir de dicha función, todos los textbox ahí creados para recoger los valores "mueren"... pobrecitos ellos, sin haber hecho nada

Entonces lo que busco es que al pulsar el botón "calcular" que existe también el ese WebForm, los valores (textbox) que ha introducido el usuario con todos los datos para las variables y las restricciones, se pasen a la función de calcular el problema... pero claro, ya no puedo acceder a ellos pq "murieron" antes.

¿Mejor ahora?

Gracias por la ayuda
  #6 (permalink)  
Antiguo 18/04/2005, 04:00
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Perdona pero no entendi donde mueren los texbox??

Te refieres a que al tener 2 web forms,los datos que rellenas en el primer web forms q estan en unos textbox desaparecen y no puedes meter esos valore sen la funcion calcular del segundo web form???

o que necesitas crear en el segundo web form unos texbox dinamicamente que dependan de una serie de resticciones y formulas que el usuario ha elegido en el primer web forms.??

Kizas es q estoy un poco espeso hoy,es lunes jejeje
  #7 (permalink)  
Antiguo 18/04/2005, 04:11
 
Fecha de Ingreso: agosto-2004
Mensajes: 37
Antigüedad: 19 años, 8 meses
Puntos: 0
Pá "espeso" ya toy yo... jeje

Lo del 2º párrafo... "necesito crear en el segundo web form unos textbox dinámicamente que dependen de las restricciones y valores que el usuario ha elegido en el primer web form". Esos nuevos textbox tendrán que recoger ahora más valores del usuario.

Pensé que lo más lógico era crearlos al cargar la página (en la función Page_Load)... pero claro, ahora el problema está en dónde "recoger" los valores de esos textbox creados en este segundo web form, pues al salir de la función Page_Load ya no tengo instancia de ellos.

Perdona por tantas molestias... pero es q toy
  #8 (permalink)  
Antiguo 18/04/2005, 04:21
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Prueba como te he dicho yo,lo unico q tienes que hacer es crear el codigo que tengas en el page load en el html entre <% %>
No es tan dificil hacer esto
Yo de todas formas se q hay alguna manera desde codigo para crear un texbox dinamicamente pero no se ni como se hace ni si luego desaparece o no,yo tengo una pagina q lo hace con codigo dinamicamente en el html.
dpendiendo de los request.querystring(),donde le paso las restricciones,creo una serie d ecampos que puede rellenar y unos labels.

Puedes compartir tu codigo del page load para q veamos como haces y ver si ter vemos el fallo pero ya te digo q yo no he utilizado el crear un web control desde code

  #9 (permalink)  
Antiguo 18/04/2005, 04:42
 
Fecha de Ingreso: agosto-2004
Mensajes: 37
Antigüedad: 19 años, 8 meses
Puntos: 0
ok

Probaré como me has dicho... de todas formas ahí os mando mi Page_Load para que veáis lo que intento hacer.

private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
//Accedo al formulario anterior para capturar el num de variables
//que seleccionó el usuario
vR = (ProyectoIOusal.WebFormVariablesRestricciones) Context.Handler;

//Según el número de variables, habrá que presentar tantos
//huecos para rellenar con valores
datosVariables = new System.Web.UI.WebControls.TextBox[vR.NumeroVariables];

//Se representan los huecos para la función objetivo
for (int i=0; i<vR.NumeroVariables; i++)
{
datosVariables[i] = new System.Web.UI.WebControls.TextBox();
datosVariables[i].ID = "variable" + (i+1).ToString();
datosVariables[i].Visible = true;

//Añado los textbox creados dinámicamente a un panel estático
//existente (si no hacía esto no me mostraba los textbox)
panelFO.Controls.Add(datosVariables[i]);
}

//Continuaría con más ecuaciones... pero ya sería +- repetición de esto
}

Al salir de esta función, como "datosVariables" lo creo local... ya no me deja acceder desde otras funciones posteriores para capturar los valores introducidos por el usuario.

Muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:03.