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

Ayuda: ¿ Por qué no funciona este codigo tan simple?

Estas en el tema de Ayuda: ¿ Por qué no funciona este codigo tan simple? en el foro de .NET en Foros del Web. Hola a todos, tengo una label de la siguiente manera: __________________________________________________ ____________ <asp:Label Runat=server ID=etiqueta Width=100 BackColor=blue Text="<%#prueba2()%>" ForeColor=white></asp:Label> __________________________________________________ ____________ y una funcion " ...
  #1 (permalink)  
Antiguo 12/05/2006, 16:45
 
Fecha de Ingreso: febrero-2003
Mensajes: 56
Antigüedad: 21 años, 3 meses
Puntos: 0
Ayuda: ¿ Por qué no funciona este codigo tan simple?

Hola a todos, tengo una label de la siguiente manera:
__________________________________________________ ____________

<asp:Label Runat=server ID=etiqueta Width=100 BackColor=blue Text="<%#prueba2()%>" ForeColor=white></asp:Label>
__________________________________________________ ____________

y una funcion " prueba2" que como podeis ver la utilizo para llenar el parametro Text de la Label.

La funciona prueba2 es así de simple :
__________________________________________________ ___________

public string prueba2()
{
return "Hola";
}
__________________________________________________ ___________

Por logica al cargar la pagina la Label debería mostrar el texto "Hola" y sin embargo no muestra nada, se queda vacia, ¿ Que puede estar pasando ?

Le he dado 1000 vueltas y no me explico porque este codigo tan simple no funciona.

Ya se que puedo poner el texto "Hola" poniendo etiqueta.Text="Hola", pero me interesa hacerlo de esta forma determinada por otros motivos largos de explicar.

Me he vuelto loco y no consigo entender porque no funciona.

A ver si alguien me puede ayudar.

Gracias de antemano.
  #2 (permalink)  
Antiguo 12/05/2006, 18:38
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
mmm, que raro, no me había pasado ese tipo de cosas, de hecho acabo de hacer pruebas y a mi tampoco me funciona, es mas.. hice ésto:

Cita:
<asp:Label id="Label1" runat="server" Text='<%= DateTime.Now.ToString()%>' />
<asp:HyperLink Runat="server" ID="HyperLink1" Text='<%= DateTime.Now.ToString()%>' NavigateUrl="pagina.aspx" />
Y tampoco me hace nada..., lo raro es que si veo el HTML me está arrojando ésto:

Cita:
<span id="Label1"><%= DateTime.Now.ToString()%></span>
<a id="HyperLink1" href="pagina.aspx"><%= DateTime.Now.ToString()%></a>
no se si sea la hora de tanto estar aqui en el trabajo o que pase..., porque hasta ahorita no me había ocurrido o al menos si coloco esto mismo dentro de un datagrid, datalist, etc funciona perfectamente...

.. jaja.. ya hasta me dio risa ésto, algo tan simple y no encuentro respuesta..

Alguien sabrá algo al respecto...

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 12/05/2006, 18:42
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Yo me he desencantado de ASP.NET por cosas como esas, me ha pasado que de repente las páginas con controles de validación, ya no hacen nada, nada de nada. Pero si seleccionas todos los controles, los copias y los pegas en una nueva página, trabajan de nuevo..... ¡bah!
  #4 (permalink)  
Antiguo 12/05/2006, 18:46
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Iniciado por Myakire
Pero si seleccionas todos los controles, los copias y los pegas en una nueva página, trabajan de nuevo..... ¡bah!
eso me suena más a problema de VSNet que de ASP.Net..

Salu2 man...
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 12/05/2006, 19:14
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Cita:
Iniciado por kuai23
Hola a todos, tengo una label de la siguiente manera:
__________________________________________________ ____________

<asp:Label Runat=server ID=etiqueta Width=100 BackColor=blue Text="<%#prueba2()%>" ForeColor=white></asp:Label>
__________________________________________________ ____________

y una funcion " prueba2" que como podeis ver la utilizo para llenar el parametro Text de la Label.

La funciona prueba2 es así de simple :
__________________________________________________ ___________

public string prueba2()
{
return "Hola";
}
__________________________________________________ ___________

Por logica al cargar la pagina la Label debería mostrar el texto "Hola" y sin embargo no muestra nada, se queda vacia, ¿ Que puede estar pasando ?

Le he dado 1000 vueltas y no me explico porque este codigo tan simple no funciona.

Ya se que puedo poner el texto "Hola" poniendo etiqueta.Text="Hola", pero me interesa hacerlo de esta forma determinada por otros motivos largos de explicar.

Me he vuelto loco y no consigo entender porque no funciona.
No funciona porque te falta ejecutar etiqueta.DataBind(); o Page.DataBind(); (en el evento Page_Load), ten en cuenta que <%# %> significa que se está haciendo Binding.
Código:
<html>
<head>
    <script language="C#" runat="server">
        public void Page_Load() 
        {
            etiqueta.DataBind();
        }
        
        public string prueba2()
        {
            return "Hola";
        }
    </script>

</head>
<body>
        <p><asp:Label runat="server" id="etiqueta" Text="<%#prueba2()%>" /></p>
</body>
</html>
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 13/05/2006, 02:00
 
Fecha de Ingreso: febrero-2003
Mensajes: 56
Antigüedad: 21 años, 3 meses
Puntos: 0
Muchas gracias a todos.

XKNOWN tenía razón , sino se pone page.databind(); no enlaza los datos. Un detalle como este me ha hecho tirar horas pensando la solucion.

Xkown, muchisimas gracias, no sabes el peso que me has quitado de encima.
  #7 (permalink)  
Antiguo 13/05/2006, 13:57
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Iniciado por xknown
No funciona porque te falta ejecutar etiqueta.DataBind();
... jejeje, hasta despues de una horas me cayo el 20 de que falta ese Bind() es lógico, no cabe duda que muchas horas en el trabajo te pegan...
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:40.