将DetailsView TemplateField单元格值转换为短日期字符串

时间:2010-09-07 08:42:47

标签: c# asp.net detailsview date-format string.format

我有一个detailsView,其单元格中的日期值当前正在longDateFormat中显示,我想将此DetailsView中的所有日期值转换为短日期。

例如,我想显示 6/1/2010

,而不是 6/1/2010 12:00:00 AM

对于Gridview,我可以通过代码打击实现这一点

  Protected Sub DetailsView4_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView4.DataBound

    If e.Row.RowType = DataControlRowType.DataRow Then
        For i As Integer = 0 To e.Row.Cells.Count - 1
            Dim cellDate As Date
            If Date.TryParse(e.Row.Cells(i).Text, cellDate) Then
                e.Row.Cells(i).Text = String.Format("{0:d}", cellDate)
            End If
        Next
    End If

End Sub

如何使用DetailsView实现相同的目标?

1 个答案:

答案 0 :(得分:2)

如果它在模板文件中,可以简单地实现。

<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("tDate", "{0:MM/dd/yyyy}") %>'></asp:TextBox>

或者如果它不是模板字段那么

<asp:BoundField DataField="tDate" HeaderText="tDate" SortExpression="tDate" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="False" />