|
 |
aspx_espanol thread: Problemas con el State
Message #1 by Rodrigo Albanese <ralbanese@z...> on Wed, 3 Jul 2002 15:30:42 -0300
|
|
Rodrigo,
A los efectos de optimizar aun mas el codigo, fijate que dentro del
foreach, estas haciendo dos castings:
>>>>If TypeOf objeto is TextBox Then
>>>>CType(objeto, TextBox).Text
usando el operador 'as' lo podes reducir a uno solo:
[C#]
TextBox tb =3D objeto as TextBox;
if(tb!=3Dnull)
//manejar tb aca
saludos,
-Victor.
-----Original Message-----
From: Rodrigo Albanese [mailto:ralbanese@z...]
Sent: Thursday, July 04, 2002 6:13 PM
To: ASP.Net en Espa=F1ol
Subject: [aspx_espanol] RE: Problemas con el State
Listo, much=EDsimas gracias.
El c=F3digo para recorrer el valor de los textboxes me qued=F3a as=ED
Sub Button1_Click(sender As Object, e As EventArgs)
Label1.Text=3D""
Dim fila as TableRow
Dim celdas as TableCell
Dim objeto as Control
For each fila in Table1.Rows
For each celdas in fila.Cells
For each objeto in celdas.Controls
If TypeOf objeto is TextBox Then
Dim stringsita as String =3D CType(objeto, TextBox).Text
label1.text &=3D stringsita
Else
Label1.Text &=3D objeto.GetType().ToString
End If
Next
Next
Next
End Sub
Saludos..
-----Mensaje original-----
De: Victor Garcia Aprea [mailto:vga@o...]
Enviado el: Jueves, 04 de Julio de 2002 15:10
Para: ASP.Net en Espaqol
Asunto: [aspx_espanol] RE: Problemas con el State
Hola Rodrigo,
Hay un par de conceptos que tenes mezclados.
>>>>label1.text=3DTB00.Text
esto no se puede hacer ya que TB00 es solo la propiedad ID de tu control
pero no una variable definida en tu aplicacion. Si vos queres
referenciar un control por su ID, tenes primero que usar FindControl que
toma el ID del control a buscar como parametro y te devuelve un Control,
luego manejas ese control. Pero no confundas la propiedad ID de un
control con el nombre de una variable definida en tu aplicacion.
En el caso de tu ejemplo donde tenes una table y algunas celdas pueden
tener controles creados dinamicamente, tenes que recordar que cada
Control tiene una coleccion Controls donde estan sus controles "hijos",
de esta manera para encontrar un TextBox que insertaste dentro de una
celda podes ubicar la celda primero y luego ubicar el control que
quieras dentro de esa celda,
saludos,
-Victor.
-----Original Message-----
From: Rodrigo Albanese [mailto:ralbanese@z...]
Sent: Thursday, July 04, 2002 9:41 AM
To: ASP.Net en Espa=F1ol
Subject: [aspx_espanol] RE: Problemas con el State
Entiendo, pero el tema es que me parece que una tabla creada
program=E1ticamente no pasa los valores de los controles que residen
dentro de ella.
Por ejemplo si yo creo una tabla con un control dentro (un txtBox), un
bot=F3n para disparar el evento y un label para recibir el valor de un
txtbox de esa tabla, no funciona, este es el c=F3digo reducido:
<%@ Page Language=3D"VB" %>
<script runat=3D"server">
Sub Page_Load(Sender As Object, E As EventArgs)
Dim j as Integer
dim ss as Integer
For j =3D 0 to 3 'filas
Dim r As New TableRow()
for ss =3D 0 to 3 'columnas
dim c as new Tablecell()
dim tb as New TextBox()
Tb.ID=3D"TB" & ss & j
tb.Text =3D "TB" & ss & j
c.Controls.Add(tb)
r.Cells.Add(c)
next
Table1.Rows.Add(r)
Next
End Sub
Sub Button1_Click(sender As Object, e As EventArgs)
label1.text=3DTB00.Text 'ac=E1 da el error (Name 'TB00' is not
declared.) Aunque yo lo declar=E9 program=E1ticamente.
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat=3D"server">
<p>
<asp:Table id=3D"Table1" runat=3D"server"></asp:Table>
</p>
<p>
<asp:Label id=3D"Label1" runat=3D"server">Label</asp:Label>
</p>
<p>
<asp:Button id=3D"Button1" onclick=3D"Button1_Click"
runat=3D"server" Text=3D"Button"></asp:Button>
</p>
</form>
</body>
</html>
-----Mensaje original-----
De: Victor Garcia Aprea [mailto:vga@o...]
Enviado el: Mi=E9rcoles, 03 de Julio de 2002 23:32
Para: ASP.Net en Espaqol
Asunto: [aspx_espanol] RE: Problemas con el State
Hola Rodrigo,
Proba con algo asi:
[C#]
//reemplazar WebForm1 por el ID de tu server-side form
Control frm =3D FindControl("WebForm1");
foreach(Control ctrl in frm.Controls)
{
TextBox tb =3D ctrl as TextBox;
if(!tb)
//aca haces lo que quieras con tb
tb.Text =3D "blah";
}
saludos,
-Victor.
-----Original Message-----
From: Rodrigo Albanese [mailto:ralbanese@z...]
Sent: Wednesday, July 03, 2002 3:31 PM
To: ASP.Net en Espa=F1ol
Subject: [aspx_espanol] Problemas con el State
Hola muchachos, les hago mi pregunta diaria... espero no molestar.
En la aplicaci=F3n que estoy haciendo creo una tabla
program=E1ticamente, y
en algunas de sus celdas creo TextBoxes. La pregunta es, c=F3mo puedo
hacer para recuperar los valores de esos TextBoxes en el PostBack de la
p=E1gina?
Saludos, y muchas gracias.
Rodrigo Albanese.
Enrique R. Zeni & C=EDa.
SACIAFI.
---
Usted est=E1 suscrito a aspx_espanol como:
vga@o...
Para darse de baja, env=EDe un mensaje en blanco a
%%email.unsub%%
--- Change your mail options at http://p2p.wrox.com/manager.asp or to
unsubscribe send a blank email to
---
Usted est=E1 suscrito a aspx_espanol como:
ralbanese@z...
Para darse de baja, env=EDe un mensaje en blanco a
%%email.unsub%%
---
Usted est=E1 suscrito a aspx_espanol como:
vga@o...
Para darse de baja, env=EDe un mensaje en blanco a
%%email.unsub%%
--- Change your mail options at http://p2p.wrox.com/manager.asp or to
unsubscribe send a blank email to
---
Usted est=E1 suscrito a aspx_espanol como:
ralbanese@z...
Para darse de baja, env=EDe un mensaje en blanco a
%%email.unsub%%
---
Usted est=E1 suscrito a aspx_espanol como:
vga@o...
Para darse de baja, env=EDe un mensaje en blanco a
%%email.unsub%%
--- Change your mail options at http://p2p.wrox.com/manager.asp or to
unsubscribe send a blank email to
|
|
 |