2012-01-16 11 views
5

Estoy tratando de hacer lo siguiente directamente en la página aspx pero no muestra el valor de la fecha. No quiero hacerlo desde el código de atrás. ¿Me estoy perdiendo algo pequeño aquí? Pls sugieren.Render DateTime.Now directamente en la página ASPX

<asp:Literal ID="ltrDate" Text='<% DateTime.Now.ToLongTimeString() %>' runat="server"></asp:Literal> 

Incluso el uso de hachís en la expresión% <% # DateTime.Now.ToLongTimeString()> no funciona.

+1

¿Lo has probado de esta manera? <% Response.Write (DateTime.Now.ToLongTimeString());%> –

+0

¿Qué * * muestra? –

+0

intenté Karan

Respuesta

7

Cuando se utiliza una expresión de enlace de datos tales como <%# DateTime.Now.ToLongTimeString() %>, entonces usted tiene que llamar Page.DataBind() (o ltrDate.DataBind() si ese es el único control de enlace de datos) de su código subyacente (por ejemplo, en Load).

16

Si no necesita acceder al valor del control Literal desde el código subyacente, entonces no hay necesidad de usarlo. En su lugar, sólo puede utilizar la siguiente expresión en su página directamente en el que desea imprimir la fecha:

<%= DateTime.Now.ToLongTimeString() %> 

Con los controles de servidor, sólo se puede poner ya sea texto estático, expresiones de enlace de datos <%# xx %>, o constructores de expresión <%$ %> dentro de la valores de propiedad en el marcado de la página.

Consulte este related question para obtener más información sobre cada enfoque.

Cuestiones relacionadas