5

Tengo un modelo de vista que incluye un complejo propiedad de tipo TestThing el que se declara como:ModelMetadata de tipo complejo en editortemplate en asp.net mvc

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 EditorTemplate de este tipo en el que me gustaría para poder acceder a los metadatos para cada una de las propiedades secundarias. Si la plantilla era para una cadena, por ejemplo, podría acceder al texto de la solicitud usando @ViewData.ModelMetadata.Watermark, pero como es un tipo complejo, no puedo usar este método.

¿Existe una alternativa?

Respuesta

8

Se podía ir a buscar los metadatos de cada propiedad como esta:

@{ 
    var metadata = ModelMetadata 
     .FromLambdaExpression<TestThing, string>(x => x.Test2, ViewData); 
    var watermak = metadata.Watermark; 
} 
2

1) Busca en esta categoría.

@Html.TextBoxFor 
    (m => m.Test1 , 
     new { 
       @placeholder = 
       @ModelMetadata.FromLambdaExpression 
        (m=>m.Test1 ,ViewData).Watermark.ToString() 
      } 
    ) 
Cuestiones relacionadas