Tengo un modelo de vista que tiene un campo int StateID
y un campo string StateName
así:Muestra Diversos campos en EditorForModel vs. modos DisplayForModel en MVC2
public class DepartmentViewModel : BaseViewModel, IModelWithId
{
// only show in edit mode
public int StateId { get; set; }
// only show in display mode
public string StateName { get; set; }
}
tengo una única vista lectura que utiliza DisplayForModel
y una vista de actualización que usa EditorForModel
. Quiero la vista DisplayForModel
para mostrar la propiedad StateName
, y la vista EditorForModel
utilizar la propiedad StateID
(en realidad estoy prestación de un DropDownList basado en esto).
no he sido capaz de averiguar cómo decorar mis propiedades ViewModel para crear este comportamiento.
¿Cómo se implementa la costumbre DataAnnotationsModelMetadataProvider? Gracias. – UpTheCreek
@UpTheCreek - Heredar de DataAnnotationsModelMetadataProvider. http://weblogs.asp.net/seanmcalinden/archive/2010/06/11/custom-asp-net-mvc-2-modelmetadataprovider-for-using-custom-view-model-attributes.aspx – CodeGrue
Gracias por compartir su solución. Sin embargo, sería útil si pudieras dar detalles de dónde debe ir el segundo fragmento de código (supongo que tenemos que anular CreateMetadata y ponerlo allí) y también cómo registrar nuestro DataAnnotationsModelMetadataProvider una vez creado. – mutex