5 votes

Rendre DateTime.Now directement dans la page ASPX

J'essaie de faire ce qui suit directement dans la page aspx mais la valeur de la date ne s'affiche pas. Je ne veux pas le faire à partir du code derrière. Est-ce qu'il me manque quelque chose ? Merci de me le suggérer.

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

Même l'utilisation du hachage dans l'expression <%#DateTime.Now.ToLongTimeString() %> ne fonctionne pas.

18voto

patmortech Points 7482

Si vous n'avez pas besoin d'accéder à la valeur du contrôle Literal depuis le code-behind, il est inutile de l'utiliser. Au lieu de cela, vous pouvez simplement utiliser l'expression suivante dans votre page directement où vous voulez imprimer la date :

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

Avec les contrôles de serveur, vous ne pouvez placer que du texte statique, des expressions de liaison de données ou des contrôles d'accès. <%# xx %> ou des constructeurs d'expression <%$ %> à l'intérieur des valeurs des propriétés dans le balisage de la page.

Voir ceci Question connexe pour plus de détails sur chaque approche.

7voto

M4N Points 48758

Lorsque vous utilisez une expression de liaison de données telle que <%# DateTime.Now.ToLongTimeString() %> alors vous devez appeler Page.DataBind() (ou ltrDate.DataBind() s'il s'agit du seul contrôle lié aux données) de votre code-behind (par exemple, dans Page_Load).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X