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