I'm fairly new to ASP.MVC. For our new Web application I'm considering between two options for view engines:
- Using some of the available view engines (the default one, NVelocity, Brail, etc.) as a primary view code generator.
- Implementing an application-specific C# DSL for generating HTML code so that the main bulk of the view code is stored in C# classes (using some sort of smart HTML generation like the one described by Jimmy Bogard).
The idea behind 2. would be to reduce the need for writing direct HTML code each time a new view is needed, but I'm not sure if this is a good approach. One drawback of it is that it would not be possible to change the generated code without recompiling the project.
What do you think?