ASP.NET MVC Northwind Demo Using the Spark View Engine
I had heard of it, but never got around to actually playing with it until after the conference. And the verdict is, I really like it.
Spark is a view engine for both Monorail and ASP.NET MVC. It supports multiple content area layouts much like master pages, which is one thing that seems to be lacking in many other view engines I’ve seen, which only support a single content area, correct me if I’m wrong. Not only that, but he’s already included IronPython and IronRuby support.
But what I really like about it is the simple way you effectively data bind HTML elements to code. Let’s start with a simple example. Suppose you have an enumeration of products you’re passing to the view from your controller action. Here’s how you might render it in Spark.
Note the each attribute of the
<li> tag contains a code expression.
This will repeat the
<li> tag once per product. The
element there declares the type of the
Spark still supports using code nuggets \<% %> when you absolutely need
them. For example, when using the
BeginForm method, I needed a using
block, so I used the code nuggets.
Just for fun, I redid the views of my Northwind sample to replace all the ASPX views with Spark as a demonstartion of using an alternative view engine. Try it out.
UPDATE: Updated to the latest version of ASP.NET MVC and Spark as of ASP.NET MVC 1.0 RC 2.