FormView EditItemTemplate中的格式化日期

pse*_*der 6 asp.net

这看起来应该很简单,但我完全失去了,如何实现的MSDN示例FormView.EditItemTemplate根本不解决格式问题.我有一个TextBox我能够绑定到类型的字段,Date如下所示:

<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CheckDate") %>' />
Run Code Online (Sandbox Code Playgroud)

但是,我没有使用时间组件,并希望编辑模式中的现有值显示为短日期格式.现在我得到"MM/dd/yyyy hh:mm:ss".

尝试向Bind表达式添加格式化代码会导致编译错误,但我不知道在其中设置绑定的任何其他方法FormView.EditItemTemplate.救命!

Tim*_*ter 16

Text='<%# Bind("CheckDate", "{0:MM/dd/yyyy}") %>'
Run Code Online (Sandbox Code Playgroud)

应该管用

但是你也可以用更易读的方式在代码隐藏中做到这一点(IMO ToShortDateStringBind("CheckDate", "{0:MM/dd/yyyy}")以下内容更具可读性:

Private Sub FormView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.DataBound
        Select Case FormView1.CurrentMode
            Case FormViewMode.Edit
                Dim dr = DirectCast(FormView1.DataItem,DataRowView)
                Dim TextBox1 = DirectCast(FormView1.FindControl("TextBox1"), TextBox)
                Dim CheckDate = DirectCast(dr("CheckDate"), Date)
                TextBox1.Text = CheckDate.ToShortDateString()
        End Select
   End Sub
Run Code Online (Sandbox Code Playgroud)