Para el envio de datos tipo DateTime entre la vista y el controlador vamos a usar tipos de datos string para poder evitar problemas con el idioma.
Esto será para las aplicaciones que serán consumidas en Argentina (todas)
En la clase estatica ControllerExtensions necesitamos tener estos dos métodos que nos servirán de extensión al controlador:
public static DateTime ToDateTime(this string obj)
{
DateTime date = DateTime.Parse(obj, System.Globalization.CultureInfo.GetCultureInfo("es-Ar"), Globalization.DateTimeStyles.None);
return date;
}
public static string ToDateString(this DateTime obj)
{
string date = obj.ToString("d", System.Globalization.CultureInfo.GetCultureInfo("es-Ar"));
return date;
}
y en nuestro Web.config definimos la cultura de la siguiente manera:
<system.web>
<globalization culture="en-Us" uiCulture="es-Ar"/>
...
</system.web>
Para sitios que necesiten administrar otro tipo de configuración consultar con su arquitecto de turno.