RazorReport is intended to provide a simple template-based means of generating HTML reports. It uses the Razor view engine from ASP.net MVC 3, and requires .net 4. It is capable of running under the client profile. The entire razor syntax (described well at Phil Haack's Site)
Master templates can be specified as well, in order to define CSS styles, etc... in a single location. Master templates contain a special tag, '@Body'. The child template will replace the @Body tag in the master template, and replacements will be performed on the entire result. This allows you to replace tags in the master template when needed, just be aware that any tags in the master template must be registered with EVERY report writer using that master template.
It also supports inclusion of shared CSS styles by using a hard-coded (for now) tag of @@STYLES. This makes it easier to support a common theme throughout the reports.
Report Builders can be set up using a fluent interface like so:
var builder = ReportBuilder.Create<Foo>() .WithTemplate("template") .WithStylesheet("stylesheet") .WithPrecompilation();
And then used as you'd expect:
string report = writer.ConstructDocument (new Foo ());
I'm sure it will change in the future. One thing I would like to add is the ability to render PDF output.