ModelMetadata para el tipo complejo en EditortEmplate en ASP.NET MVC
-
26-10-2019 - |
Pregunta
Tengo un Modelo View que incluye una propiedad compleja de Tipo Testing que se declara como:
public class TestThing
{
[Display(Name = "String3", Prompt = "String4")]
public string Test1 { get; set; }
[Display(Name = "String5", Prompt = "String6")]
public string Test2 { get; set; }
}
Tengo una edición de plantilla para este tipo en la que me gustaría poder acceder a los meta datos para cada una de las propiedades infantiles. Si la plantilla era para una cadena, por ejemplo, podría acceder al texto de inmediato usando @ViewData.ModelMetadata.Watermark
, pero debido a que es un tipo complejo, no puedo usar este método.
¿Hay una alternativa?
Solución
Podrías obtener los metadatos para cada propiedad como esta:
@{
var metadata = ModelMetadata
.FromLambdaExpression<TestThing, string>(x => x.Test2, ViewData);
var watermak = metadata.Watermark;
}
Otros consejos
1) Echa un vistazo a esto.
@Html.TextBoxFor
(m => m.Test1 ,
new {
@placeholder =
@ModelMetadata.FromLambdaExpression
(m=>m.Test1 ,ViewData).Watermark.ToString()
}
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow