Propiedades de porcentaje en MVC 3

Mi aplicación tiene muchos modelos, muchos de los cuales contienen datos porcentuales. Estos se representan comodecimal odecimal? structs en el modelo. Sin embargo, no todas las propiedades condecimal structs son porcentajes. Algunos deben ser tratados como decimales regulares.

Los porcentajes necesitan atención especial:

Para mostrar, deben usar{0:P2} formato. (Tengo esta parte funcionando).Para la edición, deben permitir el mismo formato que la pantalla, es decir, "95" o "95%" o "95.00%" se unen a un valor de 0.95.

omencé por el camino de crear unPercentModelBinder que implementaIModelBinder, pero luego se dio cuenta de que solo puede aplicar laModelBinderAttribute a unclas, no es una propiedad.

¿Cuál es la mejor manera de manejar este caso dondealguno (pero no todos) los usos de un tipo necesitan un manejo especial tanto para la visualización como para la encuadernación?

Cada solución en la que pienso huele mal a exceso, luchando contra el marco MVC. Seguramente hay una mejor manera que:

Creando una @ personalizaPercentage struct y su uso como base para IModelBinder y EditorTemplates, oReimplementar el comportamiento de enlace predeterminado dedecimal ydecimal? y cambiando la lógica de análisis basada en el conocimiento íntimo de mi modelo, oImplementar un cuaderno de modelo personalizado para cada clase que contiene una propiedad de porcentaje, oUtilizando propiedades de proxy falsas en el modelo (es decir, rompiendo MVC)

Respuestas a la pregunta(3)

Su respuesta a la pregunta