Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/05/2006, 19:14
Avatar de xknown
xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 20 años, 2 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