Pregunta

Tengo un editor de plantillas para un objeto personalizado. Bastante básico - sólo tiene un montón de cadenas y fechas:

<%:Html.LabelFor(model => model.AString)%>
<%:Html.TextBoxFor(model => model.AString)%>

<%:Html.LabelFor(model => model.ADate)%>
<%:Html.EditorFor(model => model.ADate)%>

<%:Html.LabelFor(model => model.AnotherDate)%>
<%:String.Format("{0:d}", Model.AnotherDate)%>

Esto se almacena en el Común / EditorTemplates carpeta. También tengo un editor de plantillas DateTime.ascx en el mismo lugar, fecha y hora para anular TODOS los campos.

Como se puede ver en el código anterior, uno de los campos de fecha utiliza un EditorFor para el campo de fecha, el otro no. Sin embargo, ambos hacen el mismo, lo que me lleva a creer que no se está accediendo al editor de DateTime. ¿Hay algo que estoy haciendo mal? Parece que esto debería ser posible hacerlo.

He utilizado el editor de DateTime directamente en una vista, y trabaja muy bien.

Gracias por cualquier ayuda o conocimiento.

¿Fue útil?

Solución 2

Me descubrió el problema:

Tengo clases de metadatos parciales establecidos para las anotaciones de datos en el modelo (estoy usando marco de la entidad). Mi vista parcial fecha es para? DateTime (DateTime.ascx)

Yo tenía el atributo Tipo de datos para todas las fechas establecidas a [DataType(DataType.Date)] en lugar de [DataType(DataType.DateTime)].

Cambio de ese atributo fijado todo.

Otros consejos

He intentado el escenario bajo MVC MVC 2 y 3 y bajo MVC 3 funciona como se espera.

Sólo por lo que entender correctamente usted tiene en su EditorTemplates compartido que contiene su editor ComplexModel.ascx y dentro de su ComplexModel.ascx llamar Html.EditorFor(m => m.ADate).

No estoy seguro acerca de cambios a MVC 2 con respecto a esto, pero MVC 3 definitivamente las obras.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top