He creado plantillas de editor y plantillas de visualización personalizadas. He colocado cada uno de estos tipos en una carpeta dentro de mi carpeta de vistas. Las carpetas se denominaron EditorTemplate o DisplayTemplate, según el tipo de plantilla que se haya creado.Plantillas de pantalla MVC3
Entonces, ahora puedo usar EditorFor para usar mi plantilla de editor personalizado, o DisplayFor para mi plantilla de editor personalizado.
Me gustaría crear una plantilla personalizada para un LabelFor, pero no he encontrado un ejemplo de esto. ¿Crearía una carpeta llamada Labeltemplate en mi carpeta Views y la agregaría aquí?
ACTUALIZACIÓN
La razón por la que estaba tratando de extender el LabelFor era para manejar una propiedad que es de tipo KeyValuePair. Quiero usar la clave de esta propiedad como la etiqueta y el valor como la pantalla. Hice una pregunta here sobre el DisplayFor para manejar el valor.
Mi solución terminó como>
@Html.DisplayFor(m => m.MyProperty, @Model.MyProperty.Key)
Gracias,
Estoy bien con la etiqueta, pero me gustaría establecer el texto interno de la etiqueta a un valor distinto lo que usa el ayudante Mi propiedad es un par de valores clave, y me gustaría establecer la etiqueta a la 'Clave' de la propiedad. ¿Alguna idea? –
Tenga cuidado al usar "DisplayFor". Su solución funcionaría, pero el DisplayFor estaba destinado a ser utilizado para crear una visualización de "solo lectura" de un valor y no para crear una etiqueta para la propiedad. Con esto quiero decir que se usaría un DisplayFor para "DateTime" para personalizar el formato en que se mostraba la hora de los datos. Una plantilla "DisplayFor" para su modelo o clase personalizada arrojaría valores. –
Tal vez codifique la etiqueta y no use un ayudante. –