2011-07-08 38 views
5

Parece que debería ser simple, pero estoy en una pérdida total y el ejemplo de MSDN sobre cómo implementar FormView.EditItemTemplate no aborda el formateo en absoluto. Tengo un TextBox soy capaz de unirse a un campo de tipo Date así:Fecha del formato en FormView EditItemTemplate

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

Sin embargo no estoy utilizando el componente de tiempo y me gustaría el valor existente en el modo de edición para aparecer como el formato de fecha corta . Ahora mismo obtengo "MM/dd/aaaa hh: mm: ss".

Intenta agregar el código de formato a la expresión Bind, resulta en un error de compilación, pero no conozco otra forma de configurar una vinculación en el FormView.EditItemTemplate. ¡Ayuda!

Respuesta

15
Text='<%# Bind("CheckDate", "{0:MM/dd/yyyy}") %>' 

debería funcionar

Pero también se puede hacer esto en código subyacente de una manera más fácil de leer (OMI ToShortDateString es más legible que Bind("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 
+0

Gracias, no sabía 'Bind()' acepta una cadena de formato opcional. '" {0: d} "' funcionó para mí. – pseudocoder

+0

Gracias por el ejemplo adicional, podría ser útil si necesito hacer una manipulación más compleja de los valores iniciales en el futuro. ¿Puedo hacerte +1 dos veces? ;) IMO el ejemplo en línea es el más legible (pero el código detrás de uno es definitivamente el más "confiable"). – pseudocoder

4

se puede utilizar una cadena formato como un segundo parámetro en su propiedad bind

<%# Bind("CheckDate", "{0:MM/dd/yyyy}") %> 

un buen set of patterns puede utilizar para dar formato a la fecha

+0

Gracias por los patrones de cadena de formato de fecha ... – pseudocoder

1

Puede utilizar {0:d} en formato de fecha mientras que la unión o definir la cultura en Web.config para usar MM// aaaa dd formato.