¿Cómo puedo forzar el formato de datetime en asp.net mvc 4? En el modo de visualización, se muestra como quiero, pero en el modelo de edición no aparece. estoy usando displayfor y editorfor y applyformatineditmode = true con DataFormatString = "{0: dd/mm/aaaa}" Lo que he intentado:Formato datetime en asp.net mvc 4
- globalización en web.config (dos de ellos) con mi cultura y uiculture.
- modificar la cultura y uiculture en Application_Start()
- encargo modelbinder de fecha y hora
no tengo ni idea de cómo forzar y que necesito para introducir la fecha como dd/mm/aaaa no es el predeterminado.
MÁS INFORMACIÓN: mi modelo de vista es como esto
[DisplayName("date of birth")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Birth { get; set; }
en vista utilizo @Html.DisplayFor(m=>m.Birth)
pero esto funciona como se esperaba (veo el formato) y para introducir la fecha utilizo @Html.EditorFor(m=>m.Birth)
pero si lo intento y entrada algo como 13/12/2000 falla con el error de que no es una fecha válida (12/13/2000 y 2000/12/13 funcionan como se esperaba pero necesito dd/MM/aaaa).
El encuadernador personalizado se llama en application_start() b/c No sé dónde más.
Usando <globalization/>
He intentado con culture="ro-RO", uiCulture="ro"
y otras culturas que me darían dd/mm/aaaa. También han tratado de ponerlo en una base por hilo en Application_Start() (hay una gran cantidad de ejemplos aquí, sobre cómo hacer esto)
Por todo lo que va a leer esta pregunta: Parece la respuesta de Darin Dimitrov funcionará siempre que no tenga la validación del cliente. Otro enfoque es usar validación personalizada, incluida la validación del lado del cliente. Me alegro de haber descubierto esto antes de volver a crear toda la aplicación.
¿Podrían presentar una poco más información? Su modelo, controlador y vista? También proporcione un ejemplo de los diferentes resultados que obtiene entre la plantilla de visualización y editor. También tenga en cuenta que la cultura se establece por hilo. Mencionaste algo sobre 'Application_Start', pero esto se ejecuta solo una vez, cuando se inicia la aplicación. ¿Qué pasa con las solicitudes posteriores? ¿Cómo estás estableciendo la cultura para ellos? –
¡application_start se ejecuta solo una vez! ¡Use application_beginRequest en su lugar! – Nas
Nas, ¿dónde sería application_beginRequest? Solo veo application_start en Global. En mvc 4 las cosas comenzaron a ser un poco diferentes, entonces mvc 3 – amb