Although I was able to find some documentation and samples (mostly through the unit tests) of how to use a ViewComponent with the Spark view engine, details were sketchy, so I’ll share some quick tips to those who are scratching their heads as I was.
Using a block ViewComponent
Support for block view components is pretty evident in Spark, as shown in the following example, which illustrates the use of the AuthenticatedContent view component.
<authenticatedcontent>
<logged>
This content is shown when the user is logged in.
</logged>
<notlogged>
This content is shown when the user is NOT logged in.
</notlogged>
</authenticatedcontent>
Using the CaptureFor ViewComponent
The CaptureFor component is one useful way to allow a sub-view to “inject” data into a layout. I use this all the time to allow a rescue page to change the page title when an error occurs.
On your layout page, you inject the page title as you normally would (so a controller can inject it via the property bag).
<title>ComputerSims Baseball: $!{ViewData["PageTitle"]}</title>
In the view, the . . .
→ Read More: Using MonoRail ViewComponents with the Spark view engine

Recent Comments