2013-01-12 6 views
17

私は日付を加算しようとしています。日付と時刻この商品の代金は発送されません。これらは2013-01-15の形式で格納されます。フォーマットは問題ありませんが、アプリケーションに表示すると時間が表示されます(1/15/2013 12:00:00 AM)どうすれば時間を削除できますか。以下では、データをデータバインドする方法を見つけることができます。#Eval Short Date

http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx

答えて

42

評価文の中で文字列フォーマットを試してみてください: See ASP Forums

形式にはいくつかの方法があり

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

日付がnullの場合、例外が発生しますか?もしそうなら、nullを評価する最善の方法は何ですか? –

+1

その場合は、 "if-then-else"テストを行い、nullの値を返すことができます。いくつかのガイダンスについては、この[SO](http://stackoverflow.com/questions/5012226/nullreferenceexception-handling-in-inline-asp-net-code)の記事を参照してください。 –

0

使用DateTime.ToShortDateString方法は、日付の時間部分を取り除くために日付。

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

これを試してください。

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

nopeエラー:/不正な文字列 –

0

これを試してみてください:

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

は、これはうまく答えてきたが、私は必要であったと私はせずに道を提供しようと思いましたよりもLabelの多くのを使用するために使用されます。

Labelをすべて無視し、Eval(...)メソッドを単独で使用することはできます。例えば

あなたはあなたのCSS制御TADを向上させるためにこれを使用することができます TemplateField

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

のこの内部を、使用している場合など

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

、ダニエルの解決に非常に似ていますが、それはnullを処理します:

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

これを試してください;

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