Estoy tratando de crear un HtmlHelper que cree campos de formulario compatibles con Bootstrap. Mi primer objetivo era crear un HtmlHelper que va a crear el div que rodea:Obteniendo el nombre de propiedad completo usando ModelMetadata
<div class="control-group"> ... </div>
Siguiendo el consejo excelente aquí y también aquí me las arreglé para conseguir que funcione con relativa rapidez. Pero no siempre funciona.
Tengo un ViewModel con una propiedad compleja, por lo que en mi forma tengo acceso al campo m=>m.Complex.Element
. En mi ayudante, verifico el elemento para ver si hay errores de validación. Yo uso ModelMetadata.FromLambdaExpression(expression, html.ViewData)
. Los metadatos que obtengo tienen el nombre de propiedad Element
, y no Complex.Element
.
Cuando consulto el estado del modelo para esta propiedad, no puedo encontrarlo, porque ModelState guarda el nombre completo - Complex.Element
.
Puedo buscar coincidencias parciales, con la esperanza de que no haya otro Elemento, pero parece un error desagradable a la espera de suceder. ¿Cómo puedo obtener el nombre completo de la propiedad de la expresión?
+1. También tuve el mismo problema. Tu respuesta me ayudó :) –