2011-09-26 12 views
10

Tengo algún problema con la visualización de la fecha correctamente, utilizando el objeto MVC3 DateTime.Establecer DataFormatString para MVC3 DateTime

En el controlador, configuro Date = DateTime.Now.

En ViewModel:

[Required(ErrorMessage = "Please enter a date")] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.mm.yyyy}")] 
public DateTime Date { get; set; } 

En Vista:

@Html.LabelFor(m => Model.Date, "Date") 
@Html.ValidationMessageFor(m => Model.Date) 
@Html.TextBoxFor(m => Model.DatoForIntervju, new { @class = "datepicker" }) 

Salida:

<input class="datepicker" (...) value="26.09.2011 13:26:16" /> 

Sin embargo, quiero que el valor sea 26.09.11.

¿Por qué no funciona?

Respuesta

3

Sus modelo de vista correcto (lo único es que hay que utilizar "aa" si desea mostrar corta año en C#), pero no entiendo, ¿qué hacer con este código

@Html.LabelFor(m => Model.Date, "Date") 
@Html.ValidationMessageFor(m => Model.Date) 
@Html.TextBoxFor(m => Model.DatoForIntervju, new { @class = "datepicker" }) 

I mostrar cómo agrego datepicker, en este ejemplo date espectáculos y volver a la vista en formato correcto:

@Html.EditorFor(m => m.Date) 
    @Html.ValidationMessageFor(m => m.Date) 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#Date').datepicker({ firstDay: 1, dateFormat: 'dd.mm.yy', clickInput: true }); 
     }); 
    </script> 
17

cambio

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.mm.yyyy}")] 

a

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yy}")] 

Entonces, en lugar de textboxfor, utilice

@Html.EditorFor(m => m.Date) 
+0

Buena Respuesta! Tuve este problema yo mismo con textboxfor. Me parece que es un recurso útil para el formato de cadena que puede serle útil como referencia: http://www.maconstateit.net/tutorials/aspnet20/ASPNET02/aspnet02-07.aspx – Sparkle

+1

Dado que '{0: dd.mm .yyyy} 'incluye el tiempo, ¿no también' {0: dd.mm.yy} '? –

+0

Sí, lo haría. La cadena de formato debe ser {0: dd.MM.yyyy} o {0: dd.MM.yy}. – Suncat2000

Cuestiones relacionadas