Using Brail View Engine with ASP.NET MVC
In my last post I started to take a look at the Brail View Engine in ASP.NET MVC. In this post I’m going to take a quick look at some of the other details of using Brail.
Using strongly typed view
To access a variable called ‘Time’ in the ViewData we would use the following syntax:
To access a property called ‘Value’ on the ViewModel we would use the following syntax:
Pretty neat and easy. I would have preferred just Model.Value, but it’s close enough.
Iterations
The MVC Contrib site makes no mention of how to do iterations or any type of evaluated code (that I could find). The MonoRail site has much better documentation, although not all of it is relevant to the MVC port. The following is a quote from the CastleProject site:
Brail supports two code separators <% %> and <?brail ?>, I find that <% %> is usually easier to type, but <?brail ?> allows you to have valid XML in the views, which is important for some use cases. Anything outside a <?brail ?> or <% %> is sent to the output. ${user.Id} can be used for string interpolation.
As far as I can tell only the <?brail ?> syntax is supported. The following is an example of an iteration.
Summary
Unfortunately this is where my journey with Brail ends. The syntax is decent but definitely not what I’m looking for – providing clean html to allow a designer to work closely with the views. The syntax for evaluated code is still too complex for my liking.
I had a look at some of the other view engines available and some of them show some definite promise. More on this will follow.