2013-10-09 48 views
1

我在DataView中有一個我想格式化爲顯示「MM/DD/YYYY」的日期字段。問題是我從一個服務獲取這個日期,我似乎無法在Eval函數中設置它,我在我的DataView中設置字段。在DataView中更改字段的日期格式

<asp:GridView ID="gvTransactionHistory" runat="server" 
      AutoGenerateColumns="false"> 
      <Columns> 
       <asp:TemplateField> 
        <ItemTemplate> 
         <asp:Label ID="lblTransactionDate" runat="server" Text='<%# Eval("transactionDate") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 

我試着向Text屬性添加String.Format(「{mm/DD/yyyy}」),但這是不允許的。我也嘗試了DataView的Pre_Render事件,但我沒有碰到太多運氣。

回答

2

格式是Eval的第二個參數。下面應該讓你在那裏:我改變了格式字符串從mm/DD/yyyyMM/dd/yyyy

<asp:Label ID="lblTransactionDate" runat="server" 
    Text='<%# Eval("transactionDate", "{0:MM/dd/yyyy}") %>'></asp:Label> 

通知。

MM - 月

mm - 分

DD - 不適

dd - 日


編輯:

我假設你的transactionDate可能是一個字符串。在這種情況下,使用以下命令:

<asp:Label ID="lblTransactionDate" runat="server" 
    Text='<%# String.Format("{0:MM/dd/yyyy}",DateTime.Parse(Eval("transactionDate").ToString())) %>'></asp:Label> 

上面我已經轉換了stringDateTime,以便它可以利用格式。

+0

試了一下,還是把好像我沒有任何格式化舊的方式。想法? – user2146538

+0

你的'transactionDate'屬性是'DateTime'還是'string'? – Khan

+0

汗,它會顯示日期返回爲一個字符串,例如:「2013-09-30」 – user2146538

1

您可以使用此:

<asp:Label ID="lblTransactionDate" runat="server" Text='<%#String.Format("{0:MM/dd/yyyy}",Eval("transactionDate")) %>'></asp:Label> 
+0

與上述相同的評論。沒有改變日期的格式。 – user2146538

+0

你確定你使用MM,而不是DD和DD嗎? – afzalulh