2013-01-12 12 views
17

Próbuję dodać datę Od i data Do do moich produktów te wartości są przechowywane w mojej bazie danych jako data. Są one przechowywane w tym formacie 2013-01-15. Format nie stanowi problemu, ale gdy wyświetlam je w mojej aplikacji, pojawia się godzina (1/15/2013 12:00:00 AM), w jaki sposób mogę usunąć czas. Poniżej znajdziesz metodę, w którą dane są przesyłane.# Krótka data ważności

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

Odpowiedz

42

Spróbuj sformatować String w oświadczeniu Eval: See ASP Forums

Istnieje kilka sposobów do formatu data.

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

Jeśli data jest nieważna, spowoduje to wyjątek? Jeśli tak, to jaki jest najlepszy sposób na ocenę zerową? –

+1

W takim przypadku możesz wykonać test "if-then-else" i podać inny zwrot dla wartości, które są zerowe. Zobacz ten [SO] (http://stackoverflow.com/questions/5012226/nullreferenceexception-handling-in-in-line-asp-net-code) tutaj, aby uzyskać wskazówki. –

10

Spróbuj tego;

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

Błąd nop:/niepoprawny ciąg –

0

Spróbuj tego:

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

Zostało odpowiedział dobrze, ale ja używałem dużo więcej Label s niż były konieczne i pomyślałem, że oferują drogę bez.

Możesz zignorować wszystkie razem Label i samodzielnie ustawić metodę Eval (...).

Na przykład, jeśli używasz tego wnętrze TemplateField

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

można użyć tego, aby poprawić swoją kontrola CSS tad, takich jak

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

Bardzo podobny do rozwiązania Daniela, ale obsługuje zero:

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

Spróbuj tego;

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