Foros del Web » Programando para Internet » ASPX (.net) »

controles dinámicos acceso

Estas en el tema de controles dinámicos acceso en el foro de ASPX (.net) en Foros del Web. Hola, tengo creada una tabla con una serie de textbox dinamicos que quiero cargar con valores de un array. En la parte del aspx tengo ...
  #1 (permalink)  
Antiguo 17/08/2010, 02:25
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
controles dinámicos acceso

Hola,
tengo creada una tabla con una serie de textbox dinamicos que quiero cargar con valores de un array.
En la parte del aspx tengo solamente creada la tabla:
Código ASP:
Ver original
  1. <asp:Table ID="tblmodos" runat="server">
  2.  
  3.    </asp:Table>
En la parte de código en el load de la pagina creo los textbox, de esta forma:

Código ASP:
Ver original
  1. modos = DxGestion.Entidades.Convocatorias.ListarModos().Tables[0];
  2.         //Response.Write("MODOS: " + modos.Rows.Count);
  3.        
  4.         if (modos.Rows.Count > 0)
  5.         {
  6.             foreach (System.Data.DataRow linea in modos.Rows)
  7.             {
  8.                 TableRow fila = new TableRow();
  9.                 TableCell celda1 = new TableCell();
  10.                 TableCell celdaVacia = new TableCell();
  11.  
  12.                 TableCell celda2 = new TableCell();
  13.                 celda2.Height = 19;
  14.                 celda2.Width = 50;
  15.                 TextBox textoObs = new TextBox();
  16.  
  17.                 Label literal = new Label();
  18.                 literal.Text = "Observaciones " + linea["CursoImparModo"].ToString();
  19.                 textoObs.ID = "Observacion_" + linea["IdCursoImparModo"].ToString();
  20.                 textoObs.Text = "";
  21.                 textoObs.TextMode = System.Web.UI.WebControls.TextBoxMode.MultiLine;
  22.                 //texto.Rows = 4;
  23.                 textoObs.Height = System.Web.UI.WebControls.Unit.Pixel(71);
  24.                 textoObs.Width = System.Web.UI.WebControls.Unit.Pixel(388);
  25.                 textoObs.CssClass = "input4";
  26.                 celda1.Controls.Add(literal);
  27.                 celda2.Controls.Add(textoObs);
  28.                 fila.Controls.Add(celda1);
  29.                 fila.Controls.Add(celdaVacia);
  30.                 fila.Controls.Add(celda2);
  31.                 tblmodos.Controls.Add(fila);
  32.  
  33.             }
  34.         }

La parte de insercción, cuando tengo valores en los textbox y quiero grabar me lo hace OK, pero lo que quiero ahora es que me carge los textbox con valores.

La parte de insertar los valores en los textbox es asi y funciona ok, he probado a hacerlo igual para mostrar pero no encuentra los textbox.

Código ASP:
Ver original
  1. public void insertaObsComunicacion(int idConvocatoria, DataTable modos)
  2.     {
  3.         string Idmodo;
  4.         string contenido;
  5.  
  6.         pruebas.Text = "";
  7.  
  8.         foreach (string key in Request.Form)
  9.         {
  10.             string res = Request.Form[key].ToString();
  11.            // pruebas.Text = res+"\n";
  12.             if (key.Contains("Observacion_"))
  13.             {
  14.  
  15.                 int posicion;
  16.                 posicion = key.IndexOf("_");
  17.                 Idmodo = key.Substring(posicion+1);
  18.                 //pruebas.Text += Idmodo + "\n";
  19.                 contenido = res;
  20.                // pruebas.Text += contenido + "\n";
  21.                 ENTIDAD.Convocatorias.insertaObsComunicacion(idConvocatoria, Convert.ToInt32(Idmodo), contenido);
  22.             }
  23.         }
  24.     }

A ver si alguien me puede echar una mano que no entiendo porque al principio si estan los textbox y luego no.
GRACIAS!!!
  #2 (permalink)  
Antiguo 17/08/2010, 02:31
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: controles dinámicos acceso

he visto que el html que me saca los controles los nombra asi:
Código HTML:
Ver original
  1. <textarea name="ctl00$ContentPlaceHolder1$Observacion_6" rows="2" cols="20" id="ctl00_ContentPlaceHolder1_Observacion_6" class="input4"
no entiendo porque le da ese nombre
  #3 (permalink)  
Antiguo 17/08/2010, 06:25
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: controles dinámicos acceso

SOLUCIONADO!!!!

Cuando creas controles dinámicos el id y nombre del control se me cambiaba a otro.
He visto en el html que era asi:
ctl00_placeHolder_MiCAMPO
Hay que estar pendiente de eso

Etiquetas: controles, aspx
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 07:36.