1

我在 DataView 中有一个日期字段,我想将其格式化为显示“MM/DD/YYYY”。问题是我从服务中获得了这个日期,但我似乎无法在我在 DataView 中设置字段的 Eval 函数中对其进行格式化。

<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> 

我尝试将 String.Format("{mm/DD/yyyy}") 添加到 Text 属性,但这是不允许的。我还尝试了 DataView 的 Pre_Render 事件,但我运气不佳。

4

2 回答 2

2

格式是 的第二个参数Eval。以下内容应该可以帮助您:

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

请注意,我将格式字符串从 更改mm/DD/yyyyMM/dd/yyyy

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>

上面我已将其转换string为 aDateTime以便它可以使用该格式。

于 2013-10-09T23:43:24.503 回答
1

你可以使用这个:

<asp:Label ID="lblTransactionDate" runat="server" Text='<%#String.Format("{0:MM/dd/yyyy}",Eval("transactionDate"))  %>'></asp:Label>
于 2013-10-09T23:43:24.780 回答