OK, no soy una gran autoridad en esto, pero ...
supongo que la razón por la que podría ser una mala idea se le está dando el acceso de root usuario de la aplicación, después de todo código arbitrario se puede ejecutar desde una vista. Además, el programador no verificará ni probará las vistas, es posible que no compilen o que tengan otros problemas.
Puede analizar el texto proporcionado por el usuario que forma la vista y tratar de desinfectarlo, pero esto va a ser difícil. Aunque tener el motor de vista MVC como su CMS parece que está obteniendo el marco para hacer el trabajo pesado para usted, es demasiado poderoso; expresar en código lo que el usuario no puede hacer es más difícil que expresar en código lo que puede hacer. Es por eso que (tal vez) este sitio utiliza el descuento en lugar de HTML para el marcado en las preguntas y respuestas.
En cuanto a la base de datos que es una mala idea, creo que las personas pueden estar en contra de esto debido a un problema percibido al golpear el disco duro. Sin embargo, no estoy seguro de que este sea un problema insuperable; la vista probablemente se almacenará en la memoria caché después de que se haya hecho jit, aunque no estoy seguro, tendrás que probar esto. Si es así, deberá encontrar una forma de hacer que el jit se ejecute nuevamente cuando se edite una vista, o tendrá que reciclar el sitio. Supongo que es necesario forzar el reinicio porque cuando se cambia un archivo aspx en un sitio no precompilado, el marco recibe una notificación de cambio de archivo del SO y la vista actualizada se vuelve a activar la próxima vez que se acceda. Incluso si me equivoco y la vista se saca del DB y se activa cada vez que se usa, debería poder usar el almacenamiento en caché para evitar que esto ocurra demasiado.
En algunas situaciones, las vistas en una base de datos pueden ser el mejor enfoque, por ejemplo, si los usuarios que crean las vistas son programadores. Lo consideraría con mucho cuidado.
En cuanto a la alternativa, un conjunto de herramientas de CMS (N2, Orchard etc.) podría ser una buena idea.
No estoy seguro de por qué alguien votaría por el cierre, pero ¿podría agregar un comentario para explicar dónde estoy fuera de línea? – Wade73
Esto suena como el tipo de cosas para las cuales es posible que desee considerar un Sistema de gestión de contenido. – Andy
Sorprendentemente eso es lo que estoy haciendo. – Wade73