2013-01-12 9 views
17

Sto cercando di aggiungere la data Da e data Per i miei prodotti questi valori sono memorizzati nel mio database come data. Questi sono memorizzati in questo formato 2013-01-15. Il formato non è un problema ma quando li visualizzo sulla mia applicazione viene visualizzata l'ora (1/15/2013 12:00:00 AM) come posso rimuovere l'ora per favore. Qui sotto puoi trovare il metodo Im database dati.#Eval Short Date

<asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo") %>' Font-Bold="False" Font-Size="Small"></asp:Label> 

risposta

42

Prova stringa di formattazione all'interno dell'istruzione Eval: See ASP Forums

Ci sono diversi modi in formato l'appuntamento.

<asp:label id="DateAddedLabel" runat="server" text='<%# 
Eval("DateAdded", "{0:d}") %>'></asp:label> 
+1

Se la data risulta essere nulla, ciò causerà un'eccezione? In caso affermativo, qual è il modo migliore per valutare nulla? –

+1

In tal caso, è possibile eseguire un test "if-then-else" e fornire altri valori restituiti per valori null. Vedi questo [SO] (http://stackoverflow.com/questions/5012226/nullreferenceexception-handling-in-in-line-asp-net-code) posta qui per qualche consiglio. –

10

Prova questo;

<asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo", "{0:dd/MM/yyyy}") %>' Font-Bold="False" Font-Size="Small"></asp:Label> 
+0

errore nope:/stringa errata –

0

Prova questa:

> <asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo", "{0:d}") %>' 
> Font-Bold="False" Font-Size="Small"></asp:Label> 
3

Questo è stato risposto più che bene, ma ho utilizzato molto di più Label s che erano necessarie e ho pensato di offrire un modo meno.

È possibile ignorare il Label tutti insieme e mettere il metodo Eval (...) da solo.

Per esempio, se si utilizza questo all'interno di un TemplateField

<asp:TemplateField HeaderText="Date To"> 
    <ItemTemplate> 
     <%# Eval("soDateTo", "{0:MM/dd/yyyy}") %> 
    </ItemTemplate> 
</asp:TemplateField> 

È possibile utilizzare questo per migliorare il controllo CSS un po ', come ad esempio

<div id="client_since"> 
    <%# Eval("soDateTo", "{0:MM/dd/yyyy}") %> 
</div> 
4

Molto simile alla soluzione di Daniel, ma gestisce null:

<asp:label id="DateAddedLabel" runat="server" text= 
    '<%# (String.IsNullOrEmpty(Eval("DateAdded").ToString())) 
    ? "No Date Available" : Eval("DateAdded", "{0:d}") %>'> 
</asp:label> 
0

Prova questo;

<asp:Label ID="lbldate" runat="server" Text='<%# (Convert.ToDateTime(Eval("soDateTo"))).ToShortDateString() %>'></asp:Label>